我已經開始了一個MVC項目的工作,並且遇到了一些我覺得被卡住的場景。我需要將現有的MVC3網站轉換爲適用於多種語言的網站。因爲我是新手,所以在解釋MVC3時可能會使用錯誤的單詞/定義/關鍵字,所以請隨身攜帶。如何爲mvc3中的@Model屬性之一本地化
我有一個HeaderPage.cshtml並通過
@model IHeaderPage
具有綁定到它的視圖模型,它這OUPUTS模型的屬性:
<h3>@Model.HeaderName</h3>
我打電話從這個的MainPage觀點。 cshtml
@Html.Partial("HeaderPage")
現在在控制器的Action方法中,我更改模型的屬性
objHeaderPage.HeaderName="Fill your Registeration details";
而當我運行該項目時,我看到文本「填寫您的註冊詳細信息」。
現在我該如何更改文本值,即它應該從我的resx文件中讀取。 我已經在App_LocalResources文件夾中創建了resx文件。 我聽說,它可以通過顯示屬性來完成..但我該怎麼做,或者有沒有其他更好的方法?
非常感謝,我不知道我們可以在代碼背後做到這一點。我照你說的做了。除此之外,我還有一個註冊表單,其中顯示標籤及其各自的輸入字段。我已經使用@ Html.LabelFor(mdl => mdl.Person.FullName),這會呈現英文標籤,因此現在如何從這些場景中的資源文件中獲取值? – thinkmmk 2012-03-15 14:52:22
兩種方式imo。直接在Person的實體中使用DisplayAttribute,或者在viewmodel中創建一個像PersonName {get; set;}這樣的屬性。我更喜歡複雜項目的第二個。 – Iridio 2012-03-15 15:26:29