Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可折叠PanelExtender单击事件_Javascript_C#_Onclick_Dom Events_Collapsiblepanelextender - Fatal编程技术网

Javascript 可折叠PanelExtender单击事件

Javascript 可折叠PanelExtender单击事件,javascript,c#,onclick,dom-events,collapsiblepanelextender,Javascript,C#,Onclick,Dom Events,Collapsiblepanelextender,我有一个可折叠的PanelExtender,它具有常用的扩展和折叠按钮……我希望在扩展程序被扩展时触发一个单击事件,在扩展程序被折叠时触发另一个单击事件。但最重要的事件是它何时扩展。我甚至可以不点击一下就活下来 我在网上找到的大多数使用“CollapsablePanelExtender”“click event”进行搜索的示例都是让extender根据单击做出反应,甚至在其他地方 我希望扩展器在单击时触发JS 我该如何着手实现这一点? 我是否问错了问题/使用了错误的搜索字符串

我有一个可折叠的PanelExtender,它具有常用的扩展和折叠按钮……我希望在扩展程序被扩展时触发一个单击事件,在扩展程序被折叠时触发另一个单击事件。但最重要的事件是它何时扩展。我甚至可以不点击一下就活下来

我在网上找到的大多数使用“CollapsablePanelExtender”“click event”进行搜索的示例都是让extender根据单击做出反应,甚至在其他地方

我希望扩展器在单击时触发JS

我该如何着手实现这一点? 我是否问错了问题/使用了错误的搜索字符串

            CollapsiblePanelExtender extendatron = new CollapsiblePanelExtender();
            extendatron.ID = "cpe" + MenuId;
            extendatron.TargetControlID = "pnlContent" + strMenuId;
            extendatron.ExpandControlID = "pnlMenu" + strMenuId;
            extendatron.CollapseControlID = "pnlMenu" + strMenuId;
            extendatron.Collapsed = bCollapsed;
            extendatron.TextLabelID = strMenuName;
            extendatron.ExpandedText = m_strButtonLabelHide;
            extendatron.CollapsedText = m_strButtonLabelShow;
            extendatron.ImageControlID = "imglnk" + strMenuId;
            extendatron.CollapsedImage = "~/App_Themes/default/nbExpand.gif";
            extendatron.ExpandedImage = "~/App_Themes/default/nbCollapse.gif";
            extendatron.SuppressPostBack = true;
            extendatron.ScrollContents = false;

            var extender = $find('extendatron'); //this would be <%=myExtender.ClientID%>
            extender.add_collapsed( function() { alert('collapsed'); });
            extender.add_expanded( function() { alert('expanded'); });
collapsablepanelextender extendatron=新的collapsablepanelextender();
extendatron.ID=“cpe”+MenuId;
extendatron.TargetControlID=“pnlContent”+strMenuId;
expandatron.ExpandControlID=“pnlMenu”+strMenuId;
extendatron.CollapseControlID=“pnlMenu”+strMenuId;
extendatron.Collapsed=b折叠;
extendatron.TextLabelID=strMenuName;
extendDatron.ExpandedText=m_strButtonLabelHide;
extendDatron.CollapsedText=m_strButtonLabelShow;
extendatron.ImageControlID=“imglnk”+strMenuId;
extendatron.CollapsedImage=“~/App\u Themes/default/nbExpand.gif”;
extendatron.ExpandedImage=“~/App\u Themes/default/nbCollapse.gif”;
extendatron.SuppressPostBack=true;
extendatron.ScrollContents=false;
变量扩展程序=$find('extendatron')//这将是
add_collapsed(函数(){alert('collapsed');});
add_expanded(函数(){alert('expanded');});

我想你说的是ASP.Net AJAX控件工具包。可以按如下方式向折叠和展开的事件添加处理程序:

//this would be <%=myExtender.ClientID%> when using a master page
var extender = $find('myExtender_ClientId'); 
extender.add_collapsed( function() { alert('collapsed'); });
extender.add_expanded( function() { alert('expanded'); });
//这将在使用母版页时发生
var extender=$find('myExtender_ClientId');
add_collapsed(函数(){alert('collapsed');});
add_expanded(函数(){alert('expanded');});

如果您有任何问题,请告诉我……我已经在各种解决方案中定制了其中一些对象。

首先,您需要为用户单击的面板或控件创建一个客户端(JavaScript)
onClick
事件

所以,在那里输入
onClick=“functionName();”


凭证抬头
(节目)
下一步:添加此javascript

<script type="text/javascript">
    function setCollapseState() {
        var extenderDocumentHeader = document.getElementById("MainContent_cpeDocumentHeader_ClientState");
        setCookie("cpeDocumentHeaderStatus", extenderDocumentHeader.value, 5)
    }

    //W3Schools cookie code.
    function setCookie(c_name, value, exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
        document.cookie = c_name + "=" + c_value;
    }

    //W3Schools cookie code.
    function getCookie(c_name) {
        var i, x, y, ARRcookies = document.cookie.split(";");
        for (i = 0; i < ARRcookies.length; i++) {
            x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
            y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
            x = x.replace(/^\s+|\s+$/g, "");
            if (x == c_name) {
                return unescape(y);
            }
        }
    }

</script>

函数setCollapseState(){
var extenderDocumentHeader=document.getElementById(“MainContent\u cpeDocumentHeader\u ClientState”);
setCookie(“cpeDocumentHeaderStatus”,extenderDocumentHeader.value,5)
}
//w3cookie代码。
函数setCookie(c_名称、值、exdays){
var exdate=新日期();
exdate.setDate(exdate.getDate()+exdays);
var c_value=escape(value)+(exdays==null)?“”:“expires=“+exdate.toutString());
document.cookie=c_name+“=”+c_值;
}
//w3cookie代码。
函数getCookie(c_名称){
变量i,x,y,ARRcookies=document.cookie.split(“;”);
对于(i=0;i<0.length;i++){
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf(“=”);
y=ARRcookies[i].substr(ARRcookies[i].indexOf(“=”)+1);
x=x.replace(/^\s+|\s+$/g,”);
如果(x==c_名称){
返回unescape(y);
}
}
}
请注意,在加载页面时,有一个隐藏字段是可折叠面板的状态。这是真是假。转到页面源并搜索它,您将找到它

然后添加:

var extenderDocumentHeader=document.getElementById(“MainContent\u cpeDocumentHeader\u ClientState”)


所以,点击,得到这个客户端状态,保存在一个cookie和你的好去

是的,我说的是ASP.NET AJAX控制工具包可折叠面板扩展器,我正试图通过使用非嵌入式脚本通过代码以编程方式添加它。此代码仍然适用于服务器端添加的扩展器。扩展器创建了一个javascript对象,您可以使用$find命令获取对该对象的引用。抱歉,不确定该对象是否清晰……我发布的代码是要在javascript中运行的,而不是c:)我如何在C#中添加/运行它?我不相信你能…那些属性/挂钩只存在于客户端(javascript)。不要在你的答案中添加签名等。您应该完全填写您的个人资料。谢谢
<script type="text/javascript">
    function setCollapseState() {
        var extenderDocumentHeader = document.getElementById("MainContent_cpeDocumentHeader_ClientState");
        setCookie("cpeDocumentHeaderStatus", extenderDocumentHeader.value, 5)
    }

    //W3Schools cookie code.
    function setCookie(c_name, value, exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
        document.cookie = c_name + "=" + c_value;
    }

    //W3Schools cookie code.
    function getCookie(c_name) {
        var i, x, y, ARRcookies = document.cookie.split(";");
        for (i = 0; i < ARRcookies.length; i++) {
            x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
            y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
            x = x.replace(/^\s+|\s+$/g, "");
            if (x == c_name) {
                return unescape(y);
            }
        }
    }

</script>