【问题标题】:Can I change the text of a label in a masterpage when loading a content page?加载内容页面时,我可以更改母版页中标签的文本吗?
【发布时间】:2009-07-19 11:14:16
【问题描述】:

我在名为 lblHeading 的母版页 (sample.master) 中有一个标签。

我想在加载内容页面时动态更改标签的文本。

我需要这样做,因为我想将标题更改为有意义的内容,但前提是我知道页面的内容。

这可能吗?

【问题讨论】:

    标签: c# asp.net vb.net


    【解决方案1】:

    是的,您可以通过这种非常简单的方式........

    ((Label)Master.FindControl("lblHeading")).Text = "your new text";
    

    【讨论】:

      【解决方案2】:

      是的。

      您想创建一个strongly-type master page,然后您可以在 Page_Load 期间或其他任何地方从您的内容页面访问它的属性。

      【讨论】:

        【解决方案3】:

        是的,这是可能的。 MasterPage 的行为与您页面中的 UserControl 一样。

        实现这一点的可能步骤:

        1. 在 MasterPage 上创建一个属性或方法,使您能够对标签进行更改。例如:

          public void ChangeLabel(string label) {
            lblHeading.Text = label;
          }
          
        2. 从您的Page 中,使用Page.Master 属性获取对MasterPage 的引用。

        3. 调用步骤1中定义的方法来改变MasterPage的内容。

        附加信息:您可能需要将Page.Master 转换为MasterPage 类型,请尝试Coding the Wheel's link 以获取有关如何执行此操作的说明。

        【讨论】:

        • 例如,从您的页面执行此操作(母版页具有 ID="Label_welcome" 的标签): Label mpLabel = (Label)Page.Master.FindControl("Label_welcome"); if (mpLabel != null) { mpLabel.Text = "欢迎法齐奥!"; }
        【解决方案4】:

        按照上面说的做。然后,例如,从您的页面执行此操作(母版页具有 ID="Label_welcome" 的标签):

        Label mpLabel = (Label)Page.Master.FindControl("Label_welcome");
        
          if (mpLabel != null)
          {
            mpLabel.Text = "Welcome Fazio!";
          }
        

        【讨论】:

          【解决方案5】:

          您可以在母版页中创建一个公共属性来更改标签。

          public string Heading
          {
              set 
              {
                  lblHeading.text = value;
              }
          
          }
          

          【讨论】:

            【解决方案6】:

            这还取决于您在母版页中的控件的深度。就我而言,我在 ContentPlaceHolder 控件中有一个 Label 控件...所以我必须这样做...

            Label myLBL = this.Master.FindControl("HeaderContent").FindControl("myLabel") as Label; 
            

            【讨论】:

              猜你喜欢
              • 2011-11-23
              • 1970-01-01
              • 2013-12-29
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多