Я пытаюсь динамически создавать элементы управления и присваивать им свойства во время выполнения.
Я поместил свой код в событие Page_Init, когда я запускаю свой веб-сайт, я вижу свои элементы управления, но когда я нажимаю кнопку отправки, возникает ошибка, говорящая «Ссылка на объект не установлена на экземпляр объекта».
Вот код, который я использовал:
//Creates instances of the Control
Label FeedbackLabel = new Label();
TextBox InputTextBox = new TextBox();
Button SubmitButton = new Button();
// Assign the control properties
FeedbackLabel.ID = "FeedbackLabel";
FeedbackLabel.Text = "Please type your name: ";
SubmitButton.ID = "SubmitButton";
SubmitButton.Text = "Submit";
InputTextBox.ID = "InputTextBox";
// Create event handlers
SubmitButton.Click += new System.EventHandler(SubmitButton_Click);
// Add the controls to a Panel
Panel1.Controls.Add(FeedbackLabel);
Panel1.Controls.Add(InputTextBox);
Panel1.Controls.Add(SubmitButton);
}
protected void SubmitButton_Click(object sender, EventArgs e)
{
// Create an instance of Button for the existing control
Button SubmitButton = (Button)sender;
// Update the text on the Button
SubmitButton.Text = "Submit again!";
// Create the Label and TextBox controls
Label FeedbackLabel = (Label)FindControl("FeedbackLabel");
TextBox InputTextBox = (TextBox)FindControl("InputTextBox");
// Update the controls
FeedbackLabel.Text = string.Format("Hi, {0}", InputTextBox.Text);
Как я могу исправить эту ошибку?
Это трассировка стека
[NullReferenceException: ссылка на объект не установлена для экземпляра объекта.]
_Default.Page_PreInit (Отправитель объекта, EventArgs e) в каталоге c: \ Users \ bilalq \ Documents \ Visual Studio 2010 \ WebSites \ WebSite3 \ Default.aspx.cs: 31
System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Объект o, Объект t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback (Отправитель объекта, EventArgs e) +35
System.Web.UI.Page.OnPreInit (EventArgs e) +8876158
System.Web.UI.Page.PerformPreInit () +31
System.Web.UI.Page.ProcessRequestMain (логический includeStagesBeforeAsyncPoint, логический includeStagesAfterAsyncPoint) + 328