【问题标题】:Changing control text on Web form masterpage with resources使用资源更改 Web 表单母版页上的控制文本
【发布时间】:2020-02-01 17:49:13
【问题描述】:

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

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

           lbl.Text = ...



        }

【问题讨论】:

    标签: c# webforms resources master-pages


    【解决方案1】:

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

        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 文件的构建操作更改为嵌入式资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-03
      • 2012-06-24
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多