【问题标题】:Hot towel template: how to get the html helper methods to show up?热毛巾模板:如何显示 html 辅助方法?
【发布时间】:2013-08-31 03:24:40
【问题描述】:

使用John Papa's hot towel template,我遇到了这个问题。

在 index.cshtml 中,没有显示 htmlhelper 函数。这意味着没有 @Html.RenderPartial 或 Html.Partial、actionlink 等,什么都没有。

在尝试获取它们时,我添加了指向 System.Web.Mvc.Html 的根 web.config 命名空间。像这样:

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing" />
    </namespaces>
  </pages>
</system.web.webPages.razor>

但这不可避免地会导致诸如“Index.cshtml 不继承自‘System.Web.WebPages.WebPage’”之类的错误。 即使我可以在页面顶部添加@inherits。

【问题讨论】:

  • 将您的库引用(解决方案资源管理器->项目名称->引用)与从默认 MVC 模板创建的新 MVC 项目的引用进行比较。

标签: asp.net-mvc


【解决方案1】:

这可能是需要更改的行

<pages pageBaseType="System.Web.Mvc.WebViewPage">

尝试从System.Web.WebPages.WebPage 继承,看看是否对整个 SPA 应用程序没有任何影响。

【讨论】:

  • 感谢您的回答,但我也尝试过,但仍然出现相同的错误。这对我来说不太有意义。
  • 更正,如果将 pageBaseType 替换为 System.Web.WebPages.WebPage,我会收到此错误:编译错误描述:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。编译器错误消息:CS0308:非泛型类型“System.Web.WebPages.WebPage”不能与类型参数一起使用源错误:第 35 行:第 36 行:第 37 行:公共类_Page_index_cshtml:System.Web.WebPages.WebPage { 第 38 行:第 39 行:#line hidden
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 2023-03-31
  • 1970-01-01
  • 2014-06-08
相关资源
最近更新 更多