MVCプロジェクトの作業を開始しました。私は、既存のMVC3サイトを多言語に対応するように変換する必要があります。私が新しいので、MVC3に間違った言葉/定義/キーワードを使用しているかもしれませんので、私と一緒に裸にしてください。する方法mvc3の@Modelプロパティのいずれかのローカリゼーション
私は1つHeaderPage.cshtmlを持っており、それは
@model IHeaderPage
によってそれにバインドさビューモデルを持っており、それがこのモデルのプロパティをouputs:
<h3>@Model.HeaderName</h3>
私はメインページから、このビューと呼ばれます。 cshtml
@Html.Partial("HeaderPage")
コントローラのアクションメソッドで、モデルのプロパティを変更しました
objHeaderPage.HeaderName="Fill your Registeration details";
私がプロジェクトを実行すると、「あなたの登録詳細を入力してください」というテキストが表示されます。
テキストの値を変更するにはどうすればよいですか。つまり、resxファイルから読み込む必要があります。 私は既にApp_LocalResourcesフォルダにresxファイルを作成しました。 これはDisplay Attributeで行うことができると聞きましたが、どうやってやったらいいのですか?ディスプレイスペースの使用に関するご質問にお答えします。
ありがとう、私はdidntは私たちがコードの背後にこれを行うことができることを知っていた。あなたが言ったようにしました。これとは別に、ラベルとそれぞれの入力フィールドが表示される登録フォームも1つあります。 @ Html.LabelFor(mdl => mdl.Person.FullName)を使用しました。これは英語でラベルをレンダリングするので、このようなシナリオではリソースファイルから値を取得する方法は? – thinkmmk
2つの方法があります。 Personのエンティティで直接DisplayAttributeを使用するか、文字列PersonName {get; set;}のようなプロパティを作成するviewmodelでいくつかの平坦化を行います。複雑なプロジェクトでは2番目の方が好きです。 – Iridio