首页 > 解决方案 > 使用资源更改 Web 表单母版页上的控制文本

问题描述

我目前有一个正在处理的 Web 表单项目。我所有的网站都有相同的母版页,并从继承自 Page 类的自定义类继承,所以我可以从父类检查 Session 或 Cookie 等。我现在要做的是从母版页获取标题标签到我的继承 Page 类的类,并且根据我所在的站点,我希望它显示不同的标题。此外,标题需要使用两种语言,具体取决于所选的文化。我为每个页面的默认语言、第一语言和第二语言设置了三个 .resx 文件。有没有办法根据文化从正确的 .resx 文件中获取字符串?还是我的整个方法是错误的,需要做其他事情?如果您知道,请发表评论,这是我的代码。

 private void SetTitle()
        {
            Label lbl = (Label)this.Master.FindControl("asplblTitle");

           lbl.Text = ...



        }

标签: c#webformsresourcesmaster-pages

解决方案


如果有人有类似的问题,这最终帮助了我:

    private void SetTitle()
    {
        Label lbl = (Label)this.Master.FindControl("asplblTitle");


        string sPagePath = System.Web.HttpContext.Current.Request.Url.AbsolutePath;
        System.IO.FileInfo oFileInfo = new System.IO.FileInfo(sPagePath);
        string sPageName = oFileInfo.Name;

        ResourceManager rm = new ResourceManager("RWA_WebForms.App_GlobalResources." + sPageName, Assembly.GetExecutingAssembly());

        lbl.Text = rm.GetString("Title", Thread.CurrentThread.CurrentCulture);




    } 

尝试了我在互联网上找到的所有内容,但给出这条完整路径最终成功了。还将 .resx 文件的构建操作更改为嵌入式资源。


推荐阅读