繁体   English   中英

ASP.NET MVC 4-部分视图和Ajax.Actionlink

[英]ASP.NET MVC 4 - Partial views and 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值,但是如何?

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

caglageldimi.Models.Cagla

但是您要传递一个字符串:

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

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

将部分视图的模型更改为System.String可以解决此问题:

@model System.String

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM