【发布时间】:2019-05-25 16:52:10
【问题描述】:
我对 MVC 很陌生。我正在尝试创建一个页面,其中从 SQL Server 数据库中提取新闻故事以填充页面的主要区域,同时我有一个侧边栏,其中列出了所有标题。我尝试使用侧边栏的局部视图。
这是来自控制器的代码,用于填充视图:
public ActionResult _ArticleList()
{
return View(db.Articles.OrderByDescending(a => a.id).ToList());
}
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Articles articles = db.Articles.Find(id);
if (articles == null)
{
return HttpNotFound();
}
return View(articles);
我的主视图 - Details.cshtml
@model MyApplication.Models.Articles
<div id="container">
{
<div id="main" class="col-md-9">
<h2> @Html.DisplayFor(model => model.Headline)</h2>
<p style="white-space:pre-line">
@Html.DisplayFor(model => model.Content)
</p>
</div>
<div id="rightnav" class="col-md-3">
@Html.Partial("_ArticleList")
</div>
</div>
和我的部分观点 - _ArticleList.cshtml
@model IEnumerable<MyApplication.Models.Articles>
@foreach (var item in Model)
{
<a href="/Details/@item.id"> @Html.DisplayFor(modelItem => item.Headline)</a>
<br>
}
我在主视图中的 @model MyApplication.Models.Articles 和部分视图中的 @model IEnumerable<MyApplication.Models.Articles> 之间遇到冲突。
任何人都可以提出解决这个问题的方法吗?
【问题讨论】:
标签: c# asp.net-mvc razor asp.net-mvc-5