Adr*_*ore 6 razor asp.net-mvc-3
我正在尝试将"经典"ASP.NET MVC视图移植到Razor,并在尝试使用传统(非Razor)Html辅助方法时遇到困难.辅助方法具有以下签名:
public static string WrappedValidationSummary(this HtmlHelper htmlHelper, string SummaryError)
{
...
}
Run Code Online (Sandbox Code Playgroud)
在常规(非Razor)视图中使用辅助方法时,它可以正常工作.
在Razor视图中使用它时,如下所示:
@Html.WrappedValidationSummary("Mitarbeiter konnnte nicht angelegt werden.");
Run Code Online (Sandbox Code Playgroud)
我得到一个运行时错误消息
'System.Web.Mvc.HtmlHelper'不包含'WrappedValidationSummary'的定义,并且没有扩展方法'WrappedValidationSummary'接受类型为'System.Web.Mvc.HtmlHelper'的第一个参数'(你是否缺少using指令)或汇编参考?)
Visual Studio和Intellisense中的Razor语法检查器在查找扩展方法的定义时没有问题.重新编译项目没有帮助.
出了什么问题?
kim*_*3er 18
您是否已将助手的命名空间添加到Views/web.config中?
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.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.Routing" />
<add namespace="CUSTOM_NAMESPACE" />
</namespaces>
</pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)
上述内容仅在您使用RC时才有效,如果您使用的是早期Beta,则需要在页面中添加命名空间或Global.asax.
另外,我建议将返回类型更改为HtmlString
.
return new HtmlString(STRING_VALUE);
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想用于特定的视图文件using
,则可以在视图的第一行而不是Views/Web.config中使用.
@using your_current_web_namespace
.
.
.
@Html.WrappedValidationSummary("Mitarbeiter konnnte nicht angelegt werden.")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10125 次 |
最近记录: |