如何访问本地资源:MVC
本文关键字:资源 MVC 何访问 访问 | 更新日期: 2023-09-27 18:28:27
我浏览了这个线程,询问如何访问本地资源,他解决了自己的问题,但我的情况有点不同。
Areas>Models>Support>Localization
MyResouces.resx
SupportModel
在我的SupportModel中,我想访问Localization/MyResoluces.resx中的值。语法是什么?
一个解决方案是使用HttpContext.GetLocalResourceObjec(虚拟路径,密钥),但它对我不起作用
GetLocalResourceObject("~/Areas/Models/Support/SupportModel", "option1Text")
我还将本地化文件夹重命名为App_LocalResources,但这并没有解决问题。我可能做错什么了吗?
请注意,我已经修改了我的代码,因为我不想发布真正的代码。Thx
要访问Localization/MyResoluces.resx中的值,请尝试以下操作:
@Areas.Models.Support.Localization.MyResouces.option1Text
语法:〔namespace〕。[ResourceName]。[属性]
前提是您的MyResoluces.resx文件具有public
访问修饰符。
我在Models/Support中创建了一个带有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();
}
我使用的解决方案是这样的。有趣的是,网上没有可用的解决方案。
using Myproject.Areas.Models.Support.Localization;
...
MyResouces.option1
上面并不是实际编译的代码。
您可以使用以下语法在视图中访问它:
@Resources.IndexPage.PropertyName
您必须确保您的资源文件具有以下属性:生成操作:嵌入资源自定义工具:PublicResXFileCodeGenerator自定义工具命名空间:Resources.IndexPage(这是您给定的命名空间,用于视图中访问属性。
看看这篇文章:http://www.chambaud.com/2013/02/27/localization-in-asp-net-mvc-4/