如何避免在我的cshtml标签中添加@using?

JSB*_*ach 10 asp.net-mvc

我正在用Razor学习ASP.NET MVC.我注意到有时一些cshtml文件已经导入了一些命名空间(NopCommerce的例子,我正在学习)

@model ProductListModel
@using Telerik.Web.Mvc.UI
Run Code Online (Sandbox Code Playgroud)

要么

@{
    Layout = "~/Views/Shared/_ColumnsOne.cshtml";

    Html.AppendScriptParts(@Url.Content("~/Scripts/jquery.fileupload.js"));
    Html.AppendScriptParts(@Url.Content("~/Scripts/jquery.lightbox-0.5.min.js"));
    Html.AppendCssFileParts(@Url.Content("~/Content/Style/jquery.fileupload-ui.css"));
    Html.AppendCssFileParts(@Url.Content("~/Content/Style/jquery.lightbox-0.5.css"));
}
Run Code Online (Sandbox Code Playgroud)

(Html.AppendScriptsParts在nop.Web.Framework.UI中声明)如果我创建自己的cshtml文件,我需要添加"using"行或引用,如下所示:

@using System.Linq;
@using Nop.Web.Framework.UI

@model Nop.Admin.Models.Proposal.ProposalListModel
Run Code Online (Sandbox Code Playgroud)

有什么技巧我缺少参考这些项目?为什么前两个示例更简单,不需要显式引用?

谢谢!

web*_*per 16

在此添加命名空间...\Views\Web.config:

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.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.Routing" />
        <add namespace="Your.Namespace" />  
      </namespaces>
    </pages>
  </system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)