【问题标题】:ASP.Net MVC3 C# query regarding viewing data stored in a database关于查看存储在数据库中的数据的 ASP.Net MVC3 C# 查询
【发布时间】: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


【解决方案1】:

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

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);
} 

【讨论】:

    猜你喜欢
    • 2013-01-12
    • 2011-01-14
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多