C# 使用局部视图
我在试着理解如何提出局部观点。到目前为止,我对称为“_News”的局部视图有以下内容:C# 使用局部视图,c#,asp.net-mvc,C#,Asp.net Mvc,我在试着理解如何提出局部观点。到目前为止,我对称为“_News”的局部视图有以下内容: 请参阅:好吧,我的错误,我已经解决了,我在Html中缺少@。部分 我感到惊讶的是,这既没有引发异常,也没有实际显示“Html.Partial…”作为实际文本 有人知道为什么这两种情况都不是这样吗?如果它没有引发异常,那么为什么它没有显示为纯文本?您需要显示控制器代码(第二个代码段不是控制器代码,而是视图代码),您可以在例外中的Message属性中显示值吗?否,其控制器代码请参见编辑。也没有消息属性。您仍然没有
请参阅:好吧,我的错误,我已经解决了,我在Html中缺少@。部分 我感到惊讶的是,这既没有引发异常,也没有实际显示“Html.Partial…”作为实际文本
有人知道为什么这两种情况都不是这样吗?如果它没有引发异常,那么为什么它没有显示为纯文本?您需要显示控制器代码(第二个代码段不是控制器代码,而是视图代码),您可以在例外中的Message属性中显示值吗?否,其控制器代码请参见编辑。也没有消息属性。您仍然没有显示控制器代码(这是视图代码!)。显示生成视图的方法-即在控制器中的
public ActionResult Something(){…}
很可能IEnumerable
为空。如何在控制器中分配该值?这修复了异常,但在应渲染局部的位置中没有显示任何内容。可能是什么原因造成的?我觉得一切都很好,你确定集合被填充了吗?我确定是的,我有一个显示新闻帖子的新闻页面,它工作正常,我正在制作这个局部视图,基本上在主页上显示新闻的一个版本,我有相同的ActionResult和我帖子中的代码。我应该去哪里寻找问题?是的,我完全错过了丢失的@!
@model Site.Services.News.NewsItem
<div class="bs-callout bs-callout-primary">
<h2>
@Html.DisplayFor(model => item.Title)
</h2>
</div>
@model IEnumerable<Site.Services.News.NewsItem> - Does this belong here?
...other controller code here...
@foreach(var item in Model)
{
Html.Partial("_News", item);
}
public ActionResult Index()
{
NewsReader newsReader = new NewsReader();
var newsItems = newsReader.GetNewsItems();
return View(newsItems);
}
@model Site.Services.News.NewsItem
<div class="bs-callout bs-callout-primary">
<h2>
@Html.DisplayFor(model => model.Title)
</h2>
</div>
@foreach(var item in Model)
{
@Html.Partial("_News", item);
}