pages/namespaces
Webconfig 内の要素内の名前空間を取得するために使用する必要がある何らかの魔法があるのでしょうか?
<pages>
<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="System.Web.WebPages"/>
<add namespace="System.Web.Helpers"/>
<add namespace="MyCustomHelpers"/>
</namespaces>
</pages>
上記はしない動作したいです。@using MyCustomHelpers
ページの上部に を置くと魔法のように動作するので、名前空間が適切であることがわかります。
これは、すべてのページの先頭にHtml.SomeFunction()
配置せずに動作できるようにするためです。@using
ベストアンサー1
アップデート: MVC 3 RC に適用される私の更新された回答をご覧ください:Razor HtmlHelper 拡張機能 (またはビューの他の名前空間) が見つかりません
これは、MVC 3 Preview 1 と MVC 3 Beta (本日リリース) の間で変更されています。Preview 1 では、Razor は WebForms 名前空間構成セクションを使用していました。ただし、Beta では、WebForms とは別の新しい構成セクションがあります。web.config ファイルに以下を追加する必要があります (または、テンプレートから新しいプロジェクトを開始してください)。
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="MyCustomHelpers" />
</namespaces>
</pages>
</system.web.webPages.razor>
注記変更をエディターに反映させるには、ファイルを閉じて再度開く必要がある場合があります。
Razor を MVC3 ベータ版で動作させるには、web.config で必要な変更が他にもあることに注意してください。そのため、ベータ版プロジェクト テンプレートに同梱されているファイルを確認することをお勧めします~\View\Web.config
。