【发布时间】:2012-06-14 16:23:31
【问题描述】:
我有一个关于 MVC3 C# 教程的问题。
在创建Controller时,它会自动为你创建Views,并创建Index.cshtml(路径为/Views/News/Index.cshtml)。此代码如下所示:
@model IEnumerable<dale_harrison.Models.News>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
News_Entry
</th>
<th>
News_Date
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.News_Entry)
</td>
<td>
@Html.DisplayFor(modelItem => item.News_Date)
</td>
</tr>
}
</table>
这很好用,但是,我想在我的主页上显示 @Html.DisplayFor(modelItem => item.News_Entry) 和 @Html.DisplayFor(modelItem => item.News_Date) 的内容,它位于不同的视图。
我尝试将代码从 Index.cshtml 复制到新视图(路径为 /Views/Home/homepage.cshtml),但失败并出现错误:“NullReferenceException 未被用户代码处理” - 抱歉,但是我不确定这意味着什么?
有人介意解释一下为什么简单地复制代码以显示数据库中的数据从一个视图到另一个视图不起作用吗?对不起,我是一个没有编码背景的初学者。
如果需要,我可以发布控制器代码。
非常感谢。
【问题讨论】:
-
这意味着您没有将模型传递给其他视图。当您在控制器中返回主视图时,您需要传递与新闻操作中相同的模型。
-
导航到home.aspx时是否出错?
-
谢谢 Musefan,它完美地解释了它 - 现在一切正常 :-)
标签: c# database asp.net-mvc-3 visual-web-developer-2010