c# - 如何从方法返回asp.net视图中的资源
问题描述
我有一些 html 代码,我想用资源中的文本替换它们。
我的课看起来像:
public static class ResourceParser
{
public static string GetTextFromResource(string keyValue)
{
ResourceManager rm = new ResourceManager("pl", Assembly.GetExecutingAssembly());
return rm.GetString(keyValue);
}
}
当我以这种方式从我的视图中访问资源时:
@Resources.pl.accept;
它可以工作并显示我想要的值。
当我这样做时:
@ResourceParser.GetTextFromResource("accept");
有一个例外
MissingManifestResourceException “找不到适合指定区域性或中性区域性的任何资源。确保“Servers.Resources.resources”在编译时正确嵌入或链接到程序集“myProject”中,或者所需的所有附属程序集都是可加载的并且完全签署。”
解决方案
它开始以某种方式工作。
同时我添加了这个方法:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
if (Request.UserLanguages != null)
{
string culture = Request.UserLanguages[0];
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(culture);
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(culture);
}
}
到我的 Global.asax.cs 文件
我对代码做了一些改动:
public static string GetTextFromResource(string keyValue)
{
var path = "ProjectName.Folder.pl";
var res_manager = new ResourceManager(path, typeof(pl).Assembly);
return res_manager.GetString(keyValue);
}
推荐阅读
- asp.net - 使用 dotnet ef database update 更新表不会创建表
- javascript - 为什么“点击”事件不会触发动态添加到表格的按钮?
- javascript - 将带有&符号的字符串转换为Javascript(节点js)中的键值映射
- sql - SQL Server 2014 中的 SUM
- mysql - 我的 Mysql 选择查询每次运行时运行速度较慢
- javascript - How can i resize an image in a block display? (javascript or react)
- reactjs - 如何在 React 中存储将在一小时内到期的日期?
- azure-active-directory - AAD - 用户密码到期更改通知
- android - 如何连续扫描 GSM 数据(信号塔 ID 和信号强度)
- snowflake-cloud-data-platform - 在 PlayFab 共享数据库中读取视图时出错:“对象 'REPORT_PRIMARY.PUBLIC.ACCOUNT_MAPPER' 不存在或未经授权。”