我想使动态控制生成,我设法把我的控制占位符。我得到的问题,当我试图从控制中获取信息,因为它不会“看到”控制器中的控件。按钮onclick问题与占位符
即
在Test.aspx文件
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
在页面
protected void Page_Load(object sender, EventArgs e){
TextBox txt = new TextBox();
Button btn = new Button();
btn.OnClientClick = "button_click";
//btn.Attributes.Add("onClick","button_click"); I tried this way , yet didn't work
btn.Attributes.Add("runat","server");
PlaceHolder1.Controls.Add(txt);
PlaceHolder1.Controls.Add(btn);}
和处理程序后面的代码是:
protected void button_click(Object sender , EventArgs args){
string str = txt.Text; // I don't know if this would work , cuz this method didn't run onclick
PlaceHolder2.Controls.Add(new LiteralControl("intered :"+str));
}
个
非常感谢每个答案,
作为访问控制TextBox tmp = (TextBox)PlaceHolder1.FindControl("input");
哪里是“输入”文本框是我的id设置
抱歉打扰你,但什么是类似的处理程序下拉列表?它应该在名单上还是在每个项目上? – Katia
它应该像... DropDownList1.SelectedIndexChanged + = new EventHandler(DropDownList1_SelectedIndexChanged); –