如何从方法返回asp.net视图中的资源

时间:2018-11-28 13:56:31

标签: c# asp.net-mvc

我有一些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”中,或者   所有所需的卫星组件都可装载并经过完全签名。”

1 个答案:

答案 0 :(得分:0)

它开始以某种方式工作。

同时,我添加了此方法:

 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);
        }