已回答
Dbaseman 是正确的,但为了简化这一切,我不需要模态,我的代码现在如下所示:
[ChildActionOnly]
public ActionResult RecentNews()
{
return PartialView(db.Articles.ToList());
}
和
@{Html.RenderAction("RecentNews");}
下面是我的旧代码,无法正常工作
我在执行以下操作时遇到困难,我不确定我是否接近正确的轨道。如果我创建一个 View ,代码一切正常,但如果我创建一个部分 View 并将其添加到其他 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>
有人可以帮我让它工作吗?
最佳答案
您收到“空引用”,因为分部 View 未接收任何模型; @Html.Partial 不会返回到 Controller ,它直接渲染 View 。将其更改为 @Html.Action("RecentNews") 它应该可以工作。
关于asp.net-mvc - 带列表的 MVC 部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10611978/