无论我尝试多少次,我都无法使用我的
HTML Helper扩展方法.这是我创建的测试步骤,如果有人想自己尝试一下:
>使用Visual Studio 2012,我使用“Internet应用程序”项目模板创建一个新的“Visual Basic ASP.NET MVC 4 Internet Web应用程序”.
>我创建了一个文件夹“〜/ Views / Helpers”
>我创建一个文件“DisplayForPropertyHelper.vb”并添加以下代码:
Namespace TestProject.Extensions Public Module HtmlHelperExtensions <Extension()> Public Function DisplayForProperty(helper As HtmlHelper) As MvcHtmlString Return MvcHtmlString.Create("TEST") End Function End Module End Namespace
>我打开“〜/ Views / 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" /> <add namespace="TestProject.Extensions"/> </namespaces> </pages> </system.web.webPages.razor>
>编译项目
>选择任何剃刀视图文件,然后键入@ Html.Display-您将看到扩展方法未显示.
>添加到剃刀视图文件@Imports TestProject.Extensions,然后保存并关闭该文件.
>重新打开文件,然后输入@ Html.Display-您将看到扩展方法未显示.
>您甚至可以尝试关闭VS2012并重新打开项目.不会有所作为.
我已经和它斗争了好几个星期了.我在这里和其他地方找到的所有答案都没有帮助.有人必须得到答案.