2013-12-25 4 views
1

в asp.net TextBox создаст давление на кнопки button1. Button2 - давление внутри данных TextBox, состоящее из label1 my yazdırıca. Я попытался сделать это, как будто это дает ошибку.Динамическое текстовое поле с использованием Asp.net

Ссылка на объект не установлена ​​в экземпляр объекта.

button1_click{ 

TextBox txt = new TextBox(); 
     txt.ID = "a"; 
     txt.EnableViewState = true; 
     Panel1.Controls.Add(txt); 

} 

Button2_click{ 
TextBox deneme= Panel1.FindControl("a") as TextBox; 
     Label1.Text = deneme.Text; 
} 

ответ

0

После того, как вы создали свой контроль над первым кликом, элемент управления показан на странице и существует.

На второй странице нажмите больше не знает об этом текстовом контроле, потому что вы не сохранили эту информацию где-то и потому, что только вы знаете, что некоторое время в прошлом вы ее создали.

Так на этот код у вас есть:

Button2_click{ 
    TextBox deneme= Panel1.FindControl("a") as TextBox; 
    // here the deneme is null ! and you get the exception ! 
    // the deneme is not exist on the second click, not saved anywhere 
    Label1.Text = deneme.Text; 
} 

Решение продолжать ViewState, что контроль создания и как, и воссоздавать их на PageInit. Альтернативу вы можете переделать свою страницу и подумать о другом подходе к этому, например, вы можете полностью скрывать TextControl на странице и просто открывать их.

-1
Button2_click{ 
TextBox txt = (TextBox)Panel1.FindControl("a"); 

Label Label1 = new Label(); 
Label1.Text=txt.Texxt; 
} 
Смежные вопросы