0

我正在使用 Apress 的这本书。Pro ASP.NET MVC 2 框架,第二版,已更新。我在第 5 章 SportsStore:导航和购物车中,我将此行添加到 Site Master。

   <% Html.RenderAction("Menu", "Nav"); %>

运行项目会产生错误。CS0103:当前上下文中不存在名称“Html”

我正在使用 Visual Studio 2010,该项目使用的是 Framework 4.0。

到目前为止,本书中的每一件事都运行良好。现在我无法获取此页面。有谁知道如何解决这个错误。这些是添加到 webconfig 的名称空间

  <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="SportsStore.WebUI.HtmlHelpers"  />
   </namespaces>

完整的 Site.Master 列表。

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="SportsStore.WebUI.Views.Shared.Site" %>

<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
 <link rel="Stylesheet" href="~/Content/Site.css" />

<form id="form1" runat="server">
 <asp:ContentPlaceHolder ID="MainContent" runat="server" />
   <div id="content">
        <div id="categories">
            <% Html.RenderAction("Menu", "Nav"); %>
        </div>
   </asp:ContentPlaceHolder>
  <div id="header">
    <div class="title">SPORTS STORE</div>
</div>



</div>

</form>

4

2 回答 2

3

我看到你的主人继承SportsStore.WebUI.Views.Shared.Site了一个自定义类。确保此自定义类派生自System.Web.Mvc.ViewMasterPage以便Html定义属性。

于 2013-09-24T07:13:30.370 回答
0

重新解决。我联系了 apress,他们告诉我在哪里可以下载书中的代码。同样,这本书是 Pro ASP.NET MVC 2 Framework,第二版,已更新。下载代码后,我发现我必须从项目中删除 Site.Master 代码和设计器文件。我还必须更改 site.master 以继承 System.Web.Mvc.ViewMasterPage。感谢 Chirag 抽出宝贵时间。– 刚才派里编辑

于 2013-09-25T13:03:37.997 回答