現在、学生寮のプロジェクトを行っており、学生に関する検索戦略を実装する必要があります。ここでは、ユーザーが.aspxページの別のサーバーボタンをクリックしたときにボタンを動的に作成する必要があるため、作成する必要があります。新しく作成されたボタンのonclickイベントハンドラー。私が使用したコードスニペットは次のとおりです。
protected void btnsearchByName_Click(object sender, EventArgs e)
{
TextBox tbsearchByName = new TextBox();
Button btnsearchName = new Button();
tbsearchByName.Width = 250;
tbsearchByName.ID = "tbsearchByName";
tbsearchByName.Text = "Enter the full name of a student";
btnsearchName.ID = "btnsearchName";
btnsearchName.Text = "Search";
btnsearchName.Click += new EventHandler(this.btnsearchName_Click);
pnlsearchStudents.Controls.Add(tbsearchByName);
pnlsearchStudents.Controls.Add(btnsearchName);
}
protected void btnsearchName_Click(object sender, EventArgs e)
{
lblsearch.Text = "btnsearchName_Click event fired in " + DateTime.Now.ToString();
}
ここで、問題は新しく作成されたeventHandlerが起動されないことです。私はこのサイトを調べ、いくつかの質問と回答を調べ、ページのライフサイクルも調べました。動的ボタンはInitまたはPre_initにあるべきだと言われていますが、私の問題は、別のボタンがクリックされたときにボタンを作成する必要があることです。 、どうすればそれが可能ですか?