回答
Dbaseman是正确的,但为了简化这一切,我不需要模态,我的代码现在看起来像这样:
[ChildActionOnly]
public ActionResult RecentNews()
{
return PartialView(db.Articles.ToList());
}
和
@{Html.RenderAction("RecentNews");}
以下是我的旧代码无效
我无法让下面的人工作,我不确定我是否接近正确的轨道。如果我创建一个View,代码一切正常,但如果我创建一个局部视图并将其添加到其他视图则不行。无论我尝试什么,我似乎得到错误:对象引用未设置为对象的实例。
在我看来,我有:
@Html.Partial("RecentNews")
我的行动如下:
public ActionResult RecentNews()
{
var rn = (from m in db.Articles
select new RecentNews
{
ArticleHeading = m.ArticleHeading
});
return View(rn);
//return View(db.Articles.ToList());
}
我的模态:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace melbournesportsstadium.Models
{
public class RecentNews
{
public string ArticleHeading { get; set; }
}
}
我的RecentNews.cshtml:
@model List<melbournesportsstadium.Models.RecentNews>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ArticleHeading)
</td>
</tr>
}
</table>
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
你得到“空引用”,因为部分视图没有接收任何模型; @ Html.Partial不会返回控制器,它会直接呈现视图。将其更改为@ Html.Action(“RecentNews”),它应该可以正常工作。