0

Visual Studioでデバッグしようとしてブレークポイントを設定しても、作成した送信ボタンが起動しません。

public class CustomControl : WebControl
{
    protected override void Render(HtmlTextWriter writer)
    {
        // Submit
        var submitButton = new Button{Text = "Submit", ID = "SubmitButton"};
        submitButton.Click += new EventHandler(SubmitClick);
        Controls.Add(submitButton);

        base.Render(writer);
    }

    protected void SubmitClick(object sender, EventArgs e)
    {
        Controls.Add(new LiteralControl("submited"));
        OnSubmit(EventArgs.Empty);
    }
}

このようにページに追加されます

<form id="form1" runat="server">
    <MyControls:CustomControl runat="server" />
</form>

あるいは、ここで間違ったアプローチをしているだけかもしれません。

4

2 に答える 2

1

Page_InitRender イベントではなく、カスタム コントロールのorPage_Loadイベント内のコントロールにボタンを追加します。

ポストバックボタンのクリックイベントの後、Renderイベントの前に呼び出されるためです。

于 2011-12-17T20:33:11.883 に答える
0

INamingContainerを実装して EventHandler をアクティブ化する

http://msdn.microsoft.com/en-us/library/system.web.ui.inamingcontainer.aspx

于 2012-01-18T18:11:18.797 に答える