2012-07-31 81 views
2

我想把我的主頁上的一些鏈接呈現部分視圖 - 我想在用戶點擊鏈接時顯示數據庫中的一些信息:鏈接應該被替換通過在同一頁上的文字。我跟着一個教程,但我不能讓它在我的項目中工作。以下是我有:ASP.NET MVC 4 - 部分視圖和Ajax.Actionlink

我的家/索引視圖:

<div id="NeZaman"> 
@Ajax.ActionLink("Ne Zaman Gelcekmiş?", "NeZaman", new AjaxOptions { 
             UpdateTargetId="NeZaman", 
             InsertionMode = InsertionMode.Replace, 
             HttpMethod="GET" }) 
</div> 

我的HomeController:

private CaglaContext db = new CaglaContext(); 

    public PartialViewResult NeZaman() 
    { 
     var neZaman = db.Caglas.Where(c => c.Id == 1).Select(c => c.NeZamanGelcek).FirstOrDefault(); 
     return PartialView("_NeZaman", neZaman); 
    } 

我的局部視圖(_NeZaman.cshtml):

@model caglageldimi.Models.Cagla 

<p> 
    @Model.NeZamanGelcek 
</p> 

我型號(Cagla.cs):

public class Cagla 
{ 
    public int Id { get; set; } 
    public bool GeldiMi { get; set; } 
    public string NeZamanGelcek { get; set; } 
    public string Nerdeymis { get; set; } 
} 

所以我傳遞了一個neZaman值,該局部視圖應該使用,但是如何?

+0

大氣壓我得到這個錯誤:傳遞到字典的模型產品類型「System.String」,但這個字典需要一個'caglageldimi.Models.Cagla'類型的模型項目。不知道如何解決這個問題。 – zerd 2012-07-31 14:04:35

回答

4

您設定(ε2)視圖的模型類:

caglageldimi.Models.Cagla

但你傳遞的字符串:

db.Caglas.Where(c => c.Id == 1).Select(c => c.NeZamanGelcek).FirstOrDefault();

你的SELECT語句只抓住了「NeZamanGelcek」字符串屬性值發送到您的部分視圖。

更改您的局部視圖的模型System.String應該修復它:

@model System.String