C# 使用局部视图

C# 使用局部视图,c#,asp.net-mvc,C#,Asp.net Mvc,我在试着理解如何提出局部观点。到目前为止,我对称为“_News”的局部视图有以下内容: 请参阅:好吧,我的错误,我已经解决了,我在Html中缺少@。部分 我感到惊讶的是,这既没有引发异常,也没有实际显示“Html.Partial…”作为实际文本 有人知道为什么这两种情况都不是这样吗?如果它没有引发异常,那么为什么它没有显示为纯文本?您需要显示控制器代码(第二个代码段不是控制器代码,而是视图代码),您可以在例外中的Message属性中显示值吗?否,其控制器代码请参见编辑。也没有消息属性。您仍然没有

我在试着理解如何提出局部观点。到目前为止,我对称为“_News”的局部视图有以下内容:


请参阅:

好吧,我的错误,我已经解决了,我在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);
}