Submit не запускается в пользовательском WebControl (управление сервером) - PullRequest
0 голосов
/ 18 декабря 2011

Кнопка отправки, которую я создаю, не срабатывает, даже если я установил точку останова в 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>

Или, может быть, у меня здесь неправильный подход.

Ответы [ 2 ]

1 голос
/ 18 декабря 2011

Добавьте вашу кнопку к элементу управления внутри события Page_Init или Page_Load пользовательского элемента управления вместо того, чтобы делать это в событии Render.

Поскольку после нажатия кнопки "Назад" событие нажатия кнопки вызывалось бы до Render событие.

0 голосов
/ 18 января 2012

Реализация INamingContainer для активации EventHandlers

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

...