2013-02-01 45 views
9

我已经添加了以下命名空间,以我的看法web.config文件:在Razor视图ASP.NET MVC 4的命名空间问题

<add namespace="System.Web.Mvc.Html5" /> 

现在的问题是,在意见,我只能用类型使用真实姓名:

@System.Web.Mvc.Html5.InputTypes.Html5TextBox() 

我希望能够做到:

@InputTypes.Html5TextBox() 

我怎么能这样做?

回答

30

确保您已经添加了这个命名空间的~/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> 

还要确保将这个命名空间后,您已关闭并重新打开Visual Studio中的Razor视图的所做的更改已生效。

+12

我不能相信它就像关闭和重新打开视图一样简单....谢谢! (我不知道为什么视图无法在编译时自动刷新,无论...) – Sam

+5

+1提及打开和关闭视图文件! – kaptan