2013-09-16 99 views
0

首先,我已經搜索了互聯網和計算器,但是我的編碼水平不足以理解所有的編碼示例。 所以請原諒我問一個已經被處理過的問題,但我需要更多基本的解釋:)如何看待從控制器或模型中查看數據?

我在C#ASP.NET和模式MVC上工作了好幾個星期。

我想知道,一旦視圖被控制器返回,如果有可能「掃描」的視圖,以改變一些字符串。

事實上,我想從一個方法,將掃描整個partialview並將字符串更改爲其他指定的字符串的方法翻譯partialview的所有字符串。

對於一個簡單的例子,比方說,我有這樣一個簡單的局部視圖:

public ActionResult ListeUsers() 
     { 

      return View(new ModelOfUser()); 

     } 

而通過該控制器返回的視圖:

@{ 

    ViewBag.Title = "USER_LIST"; 

} 

,我有一個RESX文件,其中「 USER_LIST「鏈接到」用戶列表「

我想要放置方法來檢查視圖並將任何字符串轉換爲相關的語言字​​符串。

在此示例中,字符串「USER_LIST」將更改爲「用戶列表」並在屏幕上顯示。

但我不知道控制器如何掃描視圖來獲取字符串「USER_LIST」,你看?

我明白,MVC的目的是分離模型視圖和控制器。因此模型和控制器甚至不知道視圖是什麼樣的!

如何從控制器或模型掃描視圖?

我不想通過每次我想要翻譯字符串時調用視圖中的方法來手動更改字符串。

在此先感謝您的答案!

回答

0

你不應該那樣做。如果您的resx文件中包含「USER_LIST」,那麼您應該可以將視圖更改爲:

@{ 
    ViewBag.Title = @Resources.USER_LIST; 
} 
+0

如果您管理資源文件,此方法很有用。如果我的老闆絕對要我做出這種外部方法,會發生什麼?如果我告訴你,我們希望能夠將字符串翻譯成多種語言,是否有意義?如西班牙語,法語等。 –

+0

resx文件的全部概念是,您需要支持每種語言,並且運行時通過使用@Resources.xxx等來處理本地化。我可能會誤解你,但你似乎想繞過這一點,並自己實施本地化。這不是一個好主意IMO。 –

+0

你是對的,我試過你的方式,它很有效率。謝謝大衛! –

相關問題