0

我有一个关于 MVC3 C# 教程的问题。

创建Controller时,它会自动为您创建视图,并创建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 未被用户代码处理” - 抱歉,但我是不确定这意味着什么?

有人介意解释为什么简单地复制代码以显示数据库中的数据从一个视图到另一个视图不起作用吗?很抱歉很厚,但我是一个没有编码背景的初学者。

如果需要,我可以发布控制器代码。

非常感谢。

4

1 回答 1

0

也许你在调用它时省略了传递模型来查看它。你可以这样做:

public ActionResult HomePage()
{
    IEnumerable<dale_harrison.Models.News> model = new List<dale_harrison.Models.News>();  
    // prepare your model (populate it with proper data)

    return View(model);
} 
于 2012-06-14T16:30:45.123 回答