Я хочу создать динамическое генерирование элемента управления, и мне удалось разместить элементы управления на заполнителях. Проблема возникает, когда я пытаюсь получить информацию из элемента управления, поскольку он не "видит" элементы управления в обработчике.
т.е.
в 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");
где "ввод" - это идентификатор текстового поля, который я установил