2

我正在尝试在我的主页上放置一些呈现部分视图的链接 - 我想在用户单击链接时显示数据库中的一些信息:该链接应替换为同一页面上的文本。我遵循了一个教程,但我无法让它在我的项目中工作。这是我所拥有的:

我的主页/索引视图:

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

我的家庭控制器:

    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 值,但是如何?

4

1 回答 1

4

您已将您的全景视图模型设置为您的班级:

caglageldimi.Models.Cagla

但是你传递了一个字符串:

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

您的 select 语句仅获取“NeZamanGelcek”字符串属性值以发送到您的局部视图。

将部分视图的模型更改为 System.String 应该可以修复它:

@model 系统字符串

于 2012-10-31T19:58:14.537 回答