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

时间:2012-09-22 20:56:31

标签: asp.net-mvc

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

@model ProductListModel
@using Telerik.Web.Mvc.UI

@{
    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"));
}

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

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

@model Nop.Admin.Models.Proposal.ProposalListModel

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

谢谢!

1 个答案:

答案 0 :(得分:15)

在此处添加您的命名空间...\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>