如何将工作按钮放在数据绑定控件中

时间:2013-03-14 16:01:34

标签: asp.net webforms custom-controls postback page-lifecycle

如果我自己创建自定义控件,我必须确保在OnInit中添加所有控件,否则回发将无效。在Init()和Load()之间调用ProcessPostData,所以如果我在Load()中添加我的控件,那么在我的控件进入页面之前就已经完成了后期数据步骤。

但是,如果我在ASP.NET转发器中放置一个按钮并且只将数据绑定到Page_Load()中的转发器,则转发器会触发ItemCommand事件,即使在Init期间控件不在页面上也是如此。这是如何运作的?如何创建自己的自定义控件,在Load()或PreRender()?

中向控件添加按钮

我想要这样的事情:

public class WrappedButton : WebControl
{
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        var button = new Button { Text = "Hello" };
        button.Click += SomeCommand;
        Controls.Add(button);
    }

    private void SomeCommand(object sender, EventArgs e)
    {
        Page.Response.Write("This won't get executed");
    }
}

0 个答案:

没有答案