证明我错了:VB.NET HtmlHelper扩展方法不适用于VSC的MVC 4

前端之家收集整理的这篇文章主要介绍了证明我错了:VB.NET HtmlHelper扩展方法不适用于VSC的MVC 4前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
无论我尝试多少次,我都无法使用我的 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并重新打开项目.不会有所作为.

我已经和它斗争了好几个星期了.我在这里和其他地方找到的所有答案都没有帮助.有人必须得到答案.

确保使用应用程序名称为命名空间添加前缀.因此,例如,如果您创建的应用程序在〜/ Views / web.config中被称为MvcApplication1,则应该放置:
<add namespace="MvcApplication1.TestProject.Extensions"/>

而不仅仅是:

<add namespace="TestProject.Extensions"/>

是的,我猜,它是那些VB.NET的东西之一:-)哦,不要忘记在更改〜/ Views / web.config文件关闭并打开Razor视图,否则你的更改不会是立即考虑(如果你运行应用程序,它当然会工作).

猜你在找的VB相关文章