2010-01-12 71 views
1

我下面ScottGU教程:簡單的電子商務店面應用需要幫助的強類型查看

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

    } 

感謝您的幫助..

回答

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的只是其中的模型包含你已經在你的情況列表設置在查看

+0

我嘗試了泛型類型的實例的字典ViewData.Model:結果相同。我無法獲得category.CategoryName。 它說:不包含'CategoryName'的定義 – 2010-01-12 04:22:41

+0

非常感謝。我知道了。 – 2010-01-12 04:25:04