在我的网站上,我有一个<aside>
,我想在其中列出热门新闻。
- 我创建了一个数据库来存储最新新闻,并使用Entity Framework将其连接到我的项目。这是一个具有ID和Message属性的简单数据库。
- 我创建了一个局部视图,仅呈现消息,而无法从局部视图进行编辑。它本质上是EF在使用代码优先创建数据库时生成的Index视图的副本。
- 我正在使用
@RenderPage()
来渲染<aside>
。在<aside>
内部,我正在使用@RenderPage()
来显示其他信息。
以下是到目前为止我尝试过的一些事情:
- 使用
@RenderPage()
显示邮件列表-失败 - 已使用
@Html.Partial("_TopNews",Model)
-Error: Object reference not set to an instance of an object
。 -在页面顶部也声明了@model IEnumerable<Namespace.Models.TopNews>
。 - 使用
@Html.RenderPartial
尝试了同样的事情-结果相同。 - 我在TopNews控制器中创建了一个actionResult(_DisplayTopNews),并在TopNews视图文件夹中创建了一个视图。我使用了
@Html.Partial("_DisplayTopNews",Model)
,但还是没有运气。
以下是从<aside>
开始的上述项目的代码:
@model IEnumerable<Namespace.Models.TopNews>
<aside class="sidebar sidebar-primary block-content-area col-md-4 panel-sides">
<section class="roundBox">
<div class="wrap">
<h4 class="block-title">Next Cycle Begins:</h4>
<div class="margin-top-lg text-left statement margin-sides-xl" aria-label="News and Announcements">
<div class="statement margin-sides pad-sides">
<h3>@RenderPage("~/Views/Shared/_CycleStateDate.cshtml")</h3>
</div>
</div>
</div>
</section>
<section class="sidebar-block sidebar_nav_menu roundBox">
<div class="wrap">
<h4 class="block-title"><strong>TOP NEWS</strong></h4>
<div class="margin-top-lg text-left statement margin-sides-xl" aria-label="News and Announcements">
<div class="statement margin-sides pad-sides">
@Html.Partial("_DisplayTopNews",Model)
</div>
</div>
</div>
</section>
</aside>
TopNews部分:
@model IEnumerable<Namespace.Models.TopNews>
<table class="table">
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Message)
</td>
</tr>
}
</table>
_DisplayTopNews视图
@model IEnumerable<Namespace.Models.TopNews>
<ul class="list">
@foreach (var item in Model)
{
<li>
@Html.DisplayFor(modelItem => item.Message)
</li>
}
</ul>
TopNewsController actionResult方法_DisplayTopNews():
private DbContext db = new DbContext();
public actionResult _DisplayTopNews()
{
return View(db.TopNews.ToList());
}
任何人都可以指出我做错了什么以及如何纠正它吗?
*我想补充一点,所有CRUD功能都可以使用。