从另一页更改母版页中的标签文本

时间:2011-12-28 12:05:26

标签: c# asp.net c#-4.0

我想从其他页面更改母版页中的标签文本。在母版页中,我想要更改文本的标签代码如下:

 <div align="right" style="padding-right: 15px">
    <asp:Label ID="labelIsim" runat="server" Font-Bold="True" Font-Size="Small" 
          ForeColor="White" Font-Italic="True" >labelname</asp:Label>
         <br />
  </div>

我写了这样的代码:

  Label m = (Label)Master.FindControl("labelIsim");
  string yname = Session["name"].ToString() + " " + Session["lastname"].ToString();
  m.Text = yname;
  m.Visible = true;

但是标签的文字保持不变。程序没有给出任何错误。它可以在m.Text中找到正确的标签;我看到正确的值,但我看不到浏览器中的变化。哪里是错误?感谢..

编辑:

实际上这段代码会更改文本,但当我转到另一页时,标签文本会返回默认值。我该如何防止这种情况?

2 个答案:

答案 0 :(得分:2)

您应该将其状态存储在viewstate中,然后获取存储在viewstate中的值,并在标签的load事件中设置这些值。

答案 1 :(得分:1)

是的,那是因为你的标记中有字符串labelname。除非您在每个子页面中重新运行代码,否则它将恢复为默认值。