11

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

これらのアイテムを参照するために欠けているトリックはありますか? 最初の 2 つの例がより単純で、明示的な参照が必要ないのはなぜですか?

ありがとう!

4

1 に答える 1

17

ここに名前空間を追加してください...\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>
于 2012-09-22T21:04:51.883 に答える