我想从其他页面更改母版页中的标签文本。在母版页中,我想要更改文本的标签代码如下:
<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中找到正确的标签;我看到正确的值,但我看不到浏览器中的变化。哪里是错误?感谢..
编辑:
实际上这段代码会更改文本,但当我转到另一页时,标签文本会返回默认值。我该如何防止这种情况?
答案 0 :(得分:2)
您应该将其状态存储在viewstate中,然后获取存储在viewstate中的值,并在标签的load事件中设置这些值。
答案 1 :(得分:1)
是的,那是因为你的标记中有字符串labelname
。除非您在每个子页面中重新运行代码,否则它将恢复为默认值。