ASP.NET MVC 4 - 部分视图和Ajax.Actionlink
问题描述:
我想把我的主页上的一些链接呈现部分视图 - 我想在用户点击链接时显示数据库中的一些信息:链接应该被替换通过在同一页上的文字。我跟着一个教程,但我不能让它在我的项目中工作。以下是我有: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值,该局部视图应该使用,但是如何?
答
您设定(ε2)视图的模型类:
caglageldimi.Models.Cagla
但你传递的字符串:
db.Caglas.Where(c => c.Id == 1).Select(c => c.NeZamanGelcek).FirstOrDefault();
你的SELECT语句只抓住了“NeZamanGelcek”字符串属性值发送到您的部分视图。
更改您的局部视图的模型System.String应该修复它:
@model System.String
大气压我得到这个错误:传递到字典的模型产品类型“System.String”,但这个字典需要一个'caglageldimi.Models.Cagla'类型的模型项目。不知道如何解决这个问题。 – zerd 2012-07-31 14:04:35