(言語)リソースファイルを使用するのCode52のASP.NET国際化を使用します。私のコントローラからかみそりビューからリソースファイルを参照する
私はこの
ViewBag.Message = Language.Index_Title;
ようにしたい文字列を参照するには、(かみそり)ビューで直接値を参照することが可能ですか? このようなもの:@Resources.Language.Index_Title;
(言語)リソースファイルを使用するのCode52のASP.NET国際化を使用します。私のコントローラからかみそりビューからリソースファイルを参照する
私はこの
ViewBag.Message = Language.Index_Title;
ようにしたい文字列を参照するには、(かみそり)ビューで直接値を参照することが可能ですか? このようなもの:@Resources.Language.Index_Title;
@ ViewContext.HttpContext.GetGlobalResourceObject(classKey、resourceKey)を試してください。これが役に立ちますようにお願いします
あなたのweb.configには "Pages"セクションがあります。そこにResource名前空間を追加する必要があります。 "using"を使ってすべてのページで宣言する必要はありません。 。
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<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="Your.Resources.Namespace" /> <!--ADD THIS LINE-->
</namespaces>
</pages>
次に、あなたが使用ビューあなたのカミソリで、あなたのリソースファイルは、「言語」と呼ばれていると仮定すると:
@Language.Index_Title
申し訳ありませんが、これは私のためには機能しませんが、インテリセンスはそれが正しいことを示しています... –
@ChristerKolterjahn、これは私がプロジェクトでこれをしたときに従ったチュートリアルです:http://afana.me/post /aspnet-mvc-internationalization-part-2.aspx – Romias
これは、ルートweb.configではなく、ビューweb.configに追加する必要があると考えています。 –
カスタムツールのプロパティでリソース・ファイルを変更し、あなたが「値を追加する必要がありますPublicResXFileCodeGenerator "と同様に、リソースファイルを使用することもできます。
私はリソースファイルのプロパティを変更すると、すべての問題が解決された: ビルドアクション:出力ディレクトリに埋め込まれたリソース コピー: –
をコピーしませんが、私はビューの変更をすぐに反映されませんことがわかりました。リソースファイルを変更/名前変更/移動した後、ビューを閉じて再度開きます。 –