0

MVC3 C# チュートリアルについて質問があります。

コントローラーを作成すると、ビューが自動的に作成され、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 was unhandled by the user code" - 申し訳ありませんが、これが何を意味するかわからない?

あるビューから別のビューにデータベースからデータを表示するためのコードをコピーするだけではうまくいかない理由を誰かが説明してくれませんか? 厚くて申し訳ありませんが、私はコーディングのバックグラウンドがない初心者です。

必要に応じてコントローラーのコードを投稿できます。

どうもありがとう。

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 に答える