剃刀视图中的ASP.NET MVC 4命名空间问题

Sam*_*Sam 9 namespaces asp.net-mvc-4

我已将以下命名空间添加到我的Views web.config文件中:

<add namespace="System.Web.Mvc.Html5" />
Run Code Online (Sandbox Code Playgroud)

现在的问题是,在Views中,我只能使用全名来使用类型:

@System.Web.Mvc.Html5.InputTypes.Html5TextBox()
Run Code Online (Sandbox Code Playgroud)

我希望能够做到:

@InputTypes.Html5TextBox()
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

Dar*_*rov 31

确保已将此命名空间添加到~/Views/web.config文件而不是标准~/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="System.Web.Mvc.Html5" />
      </namespaces>
    </pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)

还要确保在添加此命名空间后,您已在Visual Studio中关闭并重新打开Razor视图,以使更改生效.

  • 我无法相信这就像关闭和重新打开视图一样简单....谢谢!(我想知道为什么在编译时无法自动刷新视图,无论如何......) (13认同)
  • +1提及打开和关闭视图文件! (6认同)