2013-08-21 78 views
0

我通過this線程詢問如何訪問本地資源,他解決了他自己的問題,但是我的情況有點不同。如何訪問本地資源:MVC

Areas>Models>Support>Localization 
          MyResouces.resx 
        SupportModel 

在我的SupportModel內我想從本地化/ MyResouces.resx訪問值。什麼是語法?

一個解決方案是使用HttpContext.GetLocalResourceObjec(虛擬路徑,鍵),但它沒有爲我工作。我已經使用

GetLocalResourceObject("~/Areas/Models/Support/SupportModel", "option1Text") 

我也改名爲本地化文件夾App_LocalResources文件,但沒有解決問題。我可能做錯了什麼?

請注意,我修改了我的代碼,因爲我不想發佈真實代碼。 THX

回答

0

我使用的解決方案是這樣的。有趣的是沒有可用的在線解決方案。

using Myproject.Areas.Models.Support.Localization; 
... 
MyResouces.option1 

以上是實際編譯的代碼。

0

我已創建了Resource1.resx一個示例應用程序文件中型號/支持這就是我得到的值從它:

public ActionResult Login(string returnUrl) 
    { 
     var res = Models.Support.Resource1.TestString1; // this is resource created inside Models/Support/ 
     ViewBag.ReturnUrl = returnUrl; 
     return View(); 
    } 
1

要本地化/ MyResouces.resx訪問值,試試這個:

@Areas.Models.Support.Localization.MyResouces.option1Text 

語法:。[命名空間] [資源名稱] [屬性]

前提是你的MyResouces.resx文件公頃s訪問修飾符public

0

您可以使用下面的語法在視圖訪問:

@Resources.IndexPage.PropertyName 

而且你必須確保你的資源文件具有以下屬性: 生成操作:嵌入式的資源 自定義工具:PublicResXFileCodeGenerator 定製工具命名空間:Resources.IndexPage(這是你給一個命名空間,它在視圖用於訪問屬性

看一看這篇文章:。 http://www.chambaud.com/2013/02/27/localization-in-asp-net-mvc-4/