私はasp.netでWebアプリを書いています。ボタンを生成してボタンを返すクラス(テスト)を呼び出すaspxページがあります。クラスコンストラクターは、ボタンクリックイベントがアクティブ化する関数(userClickOnButton)を取得し、button.click + = EventHandler( "関数の名前(userClickOnButton)");に挿入します。
問題は、コードの背後にあるaspxでIsPostBackを使用し(離陸できない、この条件が必要)、ボタンをクリックすると、プログラムはボタン用に作成したイベントに移動しませんが、IsPostBackを離陸すると移動しますプログラムが作成したイベント(関数userClickOnButton)に移動することを条件とします。
私のコードは:aspxコードビハインド
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Test test = new Test(userClickOnButton);
Button button = test.AddButton();
cell.Controls.Add(button);
}
}
private void userClickOnButton(object sender, EventArgs e)
{
this.ModalPopupExtenderSelectFilds.Show();
}
私のクラス
public class Test
{
Action<object, EventArgs> m_ButtonClickActivateFunction;
public Test(Action<object, EventArgs> func)
{
m_ButtonClickActivateFunction = func;
}
public Button AddButton()
{
Button button = new Button();
button.Text = "select";
button.ID = "buttonID";
button.Click += new EventHandler(m_ButtonClickActivateFunction);
return button;
}
IsPostBack条件を取得せずにイベントをアクティブ化するための支援が必要
ありがとう