2010-01-12 72 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