证明我错了:VB.NET HtmlHelper扩展方法不适用于VSC的MVC 4
无论我尝试多少次,我都无法使用我的
HTML Helper扩展方法.这是我创建的测试步骤,如果有人想自己尝试一下:
>使用Visual Studio 2012,我使用“Internet应用程序”项目模板创建一个新的“Visual Basic ASP.NET MVC 4 Internet Web应用程序”. 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> >编译项目 我已经和它斗争了好几个星期了.我在这里和其他地方找到的所有答案都没有帮助.有人必须得到答案.
确保使用应用程序名称为命名空间添加前缀.因此,例如,如果您创建的应用程序在?/ Views / web.config中被称为MvcApplication1,则应该放置:
<add namespace="MvcApplication1.TestProject.Extensions"/> 而不仅仅是: <add namespace="TestProject.Extensions"/> 是的,我猜,它是那些VB.NET的东西之一:-)哦,不要忘记在更改?/ Views / web.config文件后关闭并打开Razor视图,否则你的更改不会是立即考虑(如果你运行应用程序,它当然会工作). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |