一用户控件里有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;
}

解决方案 »

  1.   


    //1 应该是能取到的,不清楚为什么;
    //2 可用 this.FindControl("lblQQ").Text 试试
      

  2.   

    应该没有问题,建议你设断点看程序是否能执行到string qq=lblQQ.Text;//这里取不到值,请问该怎么样弄?
    这行.
      

  3.   

    试了一下,可以取出来楼主检查一下你的第二个按钮ibtnQueRen是否有点击,还有在用户控件的页面代码(不能包含form,head,html等标记)
      

  4.   

    用户控件的页面代码(不能包含form,head,html等标记)
    ----------------------------------------------
    up
    如还没解决 详细描述一下
      

  5.   

    还是不行``我有个TextBox放在LoginView里在,出发ibtnQueRen_Click后,这个TextBox是nullstring qq=lblQQ.Text;//这里为""  没有字符奇怪```
      

  6.   

    Label lab = (Lable)Panel1.FindControl("lblQQ");string temp = lab.Text;试试,VS2003 环境!
      

  7.   

    晕了``居然不能禁止EnableViewState="false"
      

  8.   

    EnableViewState="false" 
    把这个去掉后,lblQQ.Text这个有值了但是我有个TextBox放在LoginView里在,出发ibtnQueRen_Click后,这个TextBox还是null 
      

  9.   

    好了``
    (this.LoginView1.FindControl("txtName") as TextBox).Text这样就可以啦``
    现在问题如何优化``我第一个Panel可以缓存的```要怎么缓存哦``