1

私は ScottGU のチュートリアルに従っています: A Simple E-Commerce Storefront Application

http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx

厳密に型指定されたビュー カテゴリで ViewData からデータを取得できません。

私は ScottGU チュートリアルに従っているため、何が間違っているのか本当にわかりません。

私は最新の MVC バージョン 2 を使用しており、ScottGU チュートリアルは最初のリリースに基づいています。

ここに私のaspxコードがあります:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" CodeBehind="Categories.aspx.cs" Inherits="System.Web.Mvc.ViewPage<List<MyStore.Models.Category>>" %>

<h2>Browse Products</h2>

<ul class = "categorylisting">

    <% foreach (var category in ViewData)
       { %>

        <li>
            <%=Html.ActionLink(category.CategoryName, new string { action = "List", category = category.CategoryName })%>
        </li>
    <% } %>

</ul>

ここに私のコントローラクラスがあります:

[ControllerAction]
    public ActionResult Categories()
    {
        List<Category> categories = northwind.GetCategories();

        return View("Categories",categories);

    }

助けてくれてありがとう..

4

1 に答える 1

1

ViewData.Model などの ViewData の Model プロパティを使用する必要があります。

だからあなたのコードは

 <% foreach (var category in ViewData.Model)
       { %>

        <li>
            <%=Html.ActionLink(category.CategoryName, new string { action = "List", category = category.CategoryName })%>
        </li>
    <% } %>

ViewData は単なるディクショナリです。モデルには、ケースのリストのビューで設定したジェネリック型のインスタンスが含まれています

于 2010-01-12T04:18:49.900 に答える