2016-12-01 4 views
1

私は別のリソースアセンブリを持っており、すべての剃刀ビューにアクセスする必要があります。デフォルトでは剃刀ビューで使用MVC 5

は、今私がそれを必要とするすべてのビューで(後にすべてのページをします)@using Res = MyProject.Web.Resources;を入れて、

@Res.TheNeededResource.TheField 

によってリソースにアクセスするノー成功を収めてビューフォルダ内のweb.configファイルにresouceの名前空間を追加しようとしました

私はそれを削除 - - 私は、ビューIDEでフルパスの名前空間を追加する場合
<add namespace="MyProject.Web.Resources" /> 

は私が冗長として設定で追加した名前空間強調してエラーを

その名前空間を正しく追加するには?または何か他の方法ですか?

あなた web.config
+0

あなたはあなたの答え –

+0

のhttpにweb.configファイルのセクションを追加することができます:// stackoverflあなたがHtmlを使用するだけのようResプロパティを使用することができますow.com/a/7586619/5062791 – ColinM

+0

Web設定で ''を試しましたか? – DavidG

答えて

0

Viewsフォルダ内の最も可能性の高いファイル、あなたがこのようなエイリアスと名前空間を追加することができます。

@Res.TheNeededResource.TheField 

<namespaces> 
    ... 
    <add namespace="Res=MyProject.Web.Resources" /> 
</namespaces> 

今、あなたはあなたが前と同じようにあなたのコードを呼び出すことができます

これはRazorの文書化されていない機能であり、有効な構文であってもエラーとして表示されることがあります。あなたはあなたの意見に今

<pages pageBaseType="MyProject.Web.BaseViewPage"> 

:あなたweb.config、独自にベース・ページ・タイプを変更するには

public abstract class BaseViewPage : BaseViewPage<object> 
{ 
} 

public abstract class BaseViewPage<TModel> : WebViewPage<TModel> 
{ 
    public TheNeededResource Res => MyProject.Web.Resources.TheNeededResource 
} 

:これは、あなたがこのように、あなた自身に、ベースページの種類を変更したほうが良いかもしれ意味します

@Res.TheField 
関連する問題