C# 需要有关强类型视图的帮助吗

C# 需要有关强类型视图的帮助吗,c#,asp.net-mvc,strong-typing,C#,Asp.net Mvc,Strong Typing,我遵循ScottGU教程:一个简单的电子商务店面应用程序 我无法从强类型视图类别中的ViewData获取数据 我真的不知道我做错了什么,因为我在遵循斯科特格大学的教程 我使用的是最新的MVC版本2,ScottGU教程基于最早的版本 这是我的aspx代码: <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" CodeBehind="Categories.aspx.cs" Inherits="

我遵循ScottGU教程:一个简单的电子商务店面应用程序

我无法从强类型视图类别中的ViewData获取数据

我真的不知道我做错了什么,因为我在遵循斯科特格大学的教程

我使用的是最新的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>>" %>

浏览产品

这是我的控制器类:

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

        return View("Categories",categories);

    }
[ControllerAction]
公共行动结果类别()
{
列表类别=northwind.GetCategories();
返回视图(“类别”,类别);
}

感谢您的帮助。

您需要使用ViewData的Model属性,例如ViewData.Model

所以你的代码变成了

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

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


  • ViewData只是一个字典,因为模型包含您在案例列表视图中设置的泛型类型的实例,所以您需要使用ViewData的Model属性,例如ViewData.Model

    所以你的代码变成了

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

  • ViewData只是一个字典,其中模型包含您在案例列表视图中设置的泛型类型的实例

    我尝试了ViewData。模型:相同的结果。我无法获取category.CategoryName。它说:不包含“CategoryName”的定义。我尝试了ViewData。模型:相同的结果。我无法获取category.CategoryName。它说:不包含“CategoryName”的定义