3

Webアプリケーションの開発に必要な最強のOOPを採用しようとしていますが、コードを使用してオブジェクトを作成するときに、オブジェクトにイベントハンドラーを追加する際に問題が発生します。私はそれが私がただ見過ごし続けるかなり単純な解決策であると確信しています、しかし私は次に何を試みるかについて途方に暮れています。以下は、私が遊んでいるいくつかのテストコードで、ボタンを押して何かを実行しようとしています。

(「inti;」の行にブレークポイントがあると想像してください)

    Button b = new Button();
    b.Text = "Do Something";
    b.Attributes.Add("runat", "server");
    b.Attributes.Add("OnClick", "click");
    form1.Controls.Add(b);

    private void click(object sender, EventArgs e)
    {
        int i;
    }

これはPage_Loadによって作成された新しいボタンであるため、XHTMLをハードコーディングすることはできません。デバッグがブレークポイントに到達することはありません。私もCheckBoxesでこれ以上成功していません。

4

2 に答える 2

11

Clickイベントに登録する必要があります:

Button b = new Button();
b.Text = "Do Something";
b.Click += click;
form1.Controls.Add(b);

private void click(object sender, EventArgs e)
{
    int i;
}

onclickボタンのAttributesコレクションに属性を追加すると、HTML入力タグの属性としてレンダリングされます。その場合、それを使用してクライアント側でJavaScriptコードを実行できます。

b.Attributes.Add("onclick", "alert('Hey')");

//Will render the button as
<input type="submit" name="x" value="Do Something" onclick="alert('Hey')">
于 2013-02-14T01:22:41.680 に答える
1

できるよ:

Button b = new Button();
b.Text = "Do Something";
b.Click += new EventHandler((s, ev) =>
                        {
                            int i;
                        });
form1.Controls.Add(b);
于 2015-10-04T15:13:47.497 に答える