一用户控件里有2个Panel,这2个Panel里又有按钮和控件,点击第1个Panel里的按纽后隐藏第1个Panel,显示出第2个Panel,然后点第2个Panel的按纽后我想取第2个Panel里的其他控件的值如lblQQ.Text,lblDiQu.text等,但是却取不到,请问该怎么样弄?代码如下yhkj.ascx
<asp:Panel ID="panel1" runat="server">
<asp:Label ID="lblhao" runat="server"></asp:Label>
<asp:ImageButton ID="ibtnKS" runat="server" ImageUrl="~/images/cz.gif" OnClick="ibtnKS_Click" />
</asp:Panel><asp:Panel ID="panel2" runat="server" Visible="false">
<asp:Label ID="lblQQ" runat="server"></asp:Label>
<asp:Label ID="lblDiQu" runat="server"></asp:Label>
<asp:ImageButton ID="ibtnQueRen" runat="server" ImageUrl="~/images/cz_1.gif" OnClick="ibtnQueRen_Click" />
</asp:Panel>
yhkj.cs
protected void ibtnKS_Click(object sender, ImageClickEventArgs e)
{
panel1.Visible = false;
panel2.Visible = true;
}protected void ibtnQueRen_Click(object sender, ImageClickEventArgs e)
{
string qq=lblQQ.Text;//这里取不到值,请问该怎么样弄?
string diqu=lblDiQu.Text;
}
<asp:Panel ID="panel1" runat="server">
<asp:Label ID="lblhao" runat="server"></asp:Label>
<asp:ImageButton ID="ibtnKS" runat="server" ImageUrl="~/images/cz.gif" OnClick="ibtnKS_Click" />
</asp:Panel><asp:Panel ID="panel2" runat="server" Visible="false">
<asp:Label ID="lblQQ" runat="server"></asp:Label>
<asp:Label ID="lblDiQu" runat="server"></asp:Label>
<asp:ImageButton ID="ibtnQueRen" runat="server" ImageUrl="~/images/cz_1.gif" OnClick="ibtnQueRen_Click" />
</asp:Panel>
yhkj.cs
protected void ibtnKS_Click(object sender, ImageClickEventArgs e)
{
panel1.Visible = false;
panel2.Visible = true;
}protected void ibtnQueRen_Click(object sender, ImageClickEventArgs e)
{
string qq=lblQQ.Text;//这里取不到值,请问该怎么样弄?
string diqu=lblDiQu.Text;
}
//1 应该是能取到的,不清楚为什么;
//2 可用 this.FindControl("lblQQ").Text 试试
这行.
----------------------------------------------
up
如还没解决 详细描述一下
把这个去掉后,lblQQ.Text这个有值了但是我有个TextBox放在LoginView里在,出发ibtnQueRen_Click后,这个TextBox还是null
(this.LoginView1.FindControl("txtName") as TextBox).Text这样就可以啦``
现在问题如何优化``我第一个Panel可以缓存的```要怎么缓存哦``