raisepostbackevent没有开火

时间:2010-09-21 06:38:42

标签: asp.net custom-controls

我正在构建一个ASP.NET自定义服务器控件。 我已经实现了IPostBackDataHandler和IPostBackEventHandler。 OnPreRender我已经注册了回发逻辑:

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        if (Page != null)
        {
            Page.RegisterRequiresRaiseEvent(this);
            Page.RegisterRequiresPostBack(this);
        }
    }

控件使用ImageButton(但我也试过一个简单的Button);单击它时,我可以看到页面“刷新”,并发布了一些数据(我检查过)。 但是,我不知道为什么RaisePostBackEvent(字符串eventArguments)没有触发。

有谁知道发生了什么事?有人能指出我正确的方向来解决这个问题吗?

提前致谢,

干杯, 詹卢卡。

1 个答案:

答案 0 :(得分:0)

PreRender阶段注册您的控件为时已晚。您可以在Load阶段执行此操作:

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    if (Page != null && Page.IsPostBack)
    {
        Page.RegisterRequiresRaiseEvent(this);
        Page.RegisterRequiresPostBack(this);
    }
}