注册javascript处理函数以处理CollapsiblePanelExtender事件

时间:2010-05-11 16:36:21

标签: asp.net

我查看了asp.net生成的html页面,我可以看到这一行

Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(AjaxControlToolkit.CollapsiblePanelBehavior,
    {
        "ClientStateFieldID":"rptActiveQuotes_ctl01_qcQuote_cpeDetails_ClientState",
        "CollapseControlID":"rptActiveQuotes_ctl01_qcQuote_imgShowHide",
        "Collapsed":true,
        "CollapsedImage":"Images/expandablePlus.gif",
        "ExpandControlID":"rptActiveQuotes_ctl01_qcQuote_imgShowHide",
        "ExpandedImage":"Images/expandableMinus.gif",
        "ImageControlID":"rptActiveQuotes_ctl01_qcQuote_imgShowHide",
        "id":"rptActiveQuotes_ctl01_qcQuote_cpeDetails"
    }, 
    null, 
    null, 
    $get("rptActiveQuotes_ctl01_qcQuote_pDetails"));
}); 

我认为它是从名为cpeDetails的CollapsiblePanelExtender生成的。我看到你可以传递一些事件,现在是null(第三个参数)。我该怎么做才能在那里设置add_ended事件?

1 个答案:

答案 0 :(得分:0)

AJAX控件/扩展器具有一堆OnClient属性,您可以将这些方法的名称指定为OnClientClicked =“funcname”中的处理程序。您可以在服务器上定义它,并在客户端上连接。您还可以在客户端上注册事件处理程序,如:

var o = $find("<%= cpeDetails.ClientID %>");
o.add_<event>(function(sender, e) 
   //event handler code
});

所以你可以做o.add_ended(function(){/ * handler * /})。是否有结束的活动?我不记得那是一个选择...

HTH。