UpdatePanel触发器,如何设置__doPostBack的触发事件?

时间:2011-11-10 18:45:28

标签: javascript asp.net ajax updatepanel

我的页面上有一个UpdatePanel,我想为它设置一些触发器:

<asp:updatepanel id="updatepanel1" runat="server">
     <contenttemplate>
          <asp:label id="lblfoo" runat="server />
     </contenttemplate>
     <triggers>
          <asp:asyncpostbacktrigger controlid="CormantRadTabStrip1" eventname="???" />
     </triggers>
</asp:updatepanel>

我有一些相关的javascript:

function CloseAndSave() {
    window.__doPostBack(CormantRadTabStrip1);
}

在服务器端,我已经使bar实现了IPostBackEventHandler接口。

但是这种事情似乎没有明确的事件名称?我应该将eventname发送给谁?

由于

public class CormantRadTabStrip : RadTabStrip, IPostBackEventHandler
{
    /// <summary>
    /// This is called when the GlobalSettings dialog window closes.
    /// </summary>
    /// <param name="eventArgument">JSON passed to the event representing state of tabs</param>
    void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
    {
        UpdateTabs();
    }
}

2 个答案:

答案 0 :(得分:1)

eventname应该是bar(或CormantRadTabStrip1)控件导致回发的任何类型的事件。有关常见(默认)eventname值的信息,请参阅msdn doc。

答案 1 :(得分:0)

您可以添加隐藏的按钮,并将 OnClientClick 事件处理程序指定为窗口.__ doPostBack(CormantRadTabStrip1);

然后使用以下

修改AsyncPostBackTrigger
<triggers>
    <asp:asyncpostbacktrigger controlid="YouButtonID" eventname="ClientClick" />
</triggers>