问题描述
我在后台的panel中动态生成几个控件,然后在按钮点击方法中获取怎么获取不到啊?<asp:PanelID="mypanel"runat="server"></asp:Panel><asp:Buttonrunat="server"ID="mybutton"Text="mybutton"OnClick="mybutton_Click"/>
protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Buttonbtn=newButton();btn.Text="test";((Panel)FindControl("mypanel")).Controls.Add(btn);}}protectedvoidmybutton_Click(objectsender,EventArgse){intbtnNum=((Panel)FindControl("mypanel")).Controls.Count;Response.Write(btnNum);}
页面上显示btnNum为0,也就是取不到panel里的控件,可页面上明明已经生成了啊?
解决方案
解决方案二:
usingSystem;usingSystem.Configuration;usingSystem.Collections.Generic;usingSystem.Collections.Specialized;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceYourNameSpace{publicpartialclassWebForm3:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Buttonbtn=newButton();btn.Text="test";((Panel)FindControl("mypanel")).Controls.Add(btn);}}protectedvoidButton1_Click(objectsender,EventArgse){intbtnNum=((Panel)FindControl("mypanel")).Controls.Count;Response.Write(btnNum);}}}好奇心,也copy了份楼主的代码,结果发现,我的btnNum=1,难道是楼主RP?
解决方案三:
引用1楼littlehand的回复:
Buttonbtn=newButton();btn.Text="test";((Panel)FindControl("mypanel")).Controls.Add(btn);
放在if(!IsPostBack){}里面就是1不放的话是0---回传嘛.
解决方案四:
引用2楼hh520xb的回复:
引用1楼littlehand的回复:放在if(!IsPostBack){}里面就是1不放的话是0---回传嘛.
我说错了放在回传里面是0,不放的话是1
解决方案五:
引用3楼hh520xb的回复:
引用2楼hh520xb的回复:引用1楼littlehand的回复:放在if(!IsPostBack){}里面就是1不放的话是0---回传嘛.我说错了放在回传里面是0,不放的话是1
我就是需要从页面上获得panel(实际上就是页面上panel页面上生成的div)内的控件,如果不放在if(!IsPostBack){}里面的话,那明显有值嘛,明显每次从后台new了个Button放在panel里,但是我需要的是动态生成panel里面的控件,返回后台后我还要能获取panel里面的控件,即页面上div里面的控件,不是再new出来的控件,那不是没有任何意义
解决方案六:
引用1楼littlehand的回复:
usingSystem;usingSystem.Configuration;usingSystem.Collections.Generic;usingSystem.Collections.Specialized;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceYourNameSpace{publicpartialclassWebForm3:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Buttonbtn=new…
真的假的,你代码怎么写的,一模一样吗?我就是想找出其中的原因啊