Отправить обратно при смене флажка - PullRequest
0 голосов
/ 21 апреля 2019

Я хочу отправлять сообщения обратно всякий раз, когда флажок изменяется для просмотра дерева, я искал и находил ответы, но он не работает.Когда я отлаживаю, он никогда не попадает в функцию события

, это дерево с атрибутом OnTreeNodeCheckChanged

 <asp:TreeView ShowCheckBoxes="All"  OnTreeNodeCheckChanged ="UnSelectedTree_SelectedNodeChanged" ID="UnSelectedTree" runat="server" CssClass="jstree-node  jstree-open jstree-last">
                                                    </asp:TreeView>

И использование этой функции для установки флажков

   function ClientSideChangeSelection(e) {

        var evnt = ((window.event) ? (event) : (e));
        var chkBox = evnt.srcElement || evnt.target;
       // var chkBox = window.event.srcElement;
        var isChecked;
        var isCheckBox = false;

        if (chkBox.tagName == "INPUT" && chkBox.type.toUpperCase() == "CHECKBOX") {
            var treeNode = chkBox;
            isChecked = treeNode.checked;
            do {
                chkBox = chkBox.parentElement;
            } while (chkBox.tagName != "TABLE")
            var firstLevel = chkBox.rows[0].cells.length;

            var tableElements = chkBox.parentElement.getElementsByTagName("TABLE");
            var tableElementsCount = tableElements.length;
            if (tableElementsCount > 0) {
                for (i = 0; i < tableElementsCount; i++) {
                    if (tableElements[i] == chkBox) {
                        i++;
                        isCheckBox = true;
                        if (i == tableElementsCount) {
                            return;
                        }
                    }
                    if (isCheckBox == true) {
                        var secondLevel = tableElements[i].rows[0].cells.length;
                        if (secondLevel > firstLevel) {
                            var cell = tableElements[i].rows[0].cells[secondLevel - 1];
                            var inputElement = cell.getElementsByTagName("INPUT");
                            inputElement[0].checked = isChecked;
                        }
                        else {
                            return;
                        }
                    }
                }
            }
                __doPostBack("", "");
        }

И, наконец,это мой код C #

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                UnSelectedTree.Attributes.Add("onclick", "ClientSideChangeSelection(event)");
            }
    } 



protected void UnSelectedTree_SelectedNodeChanged(object sender, TreeNodeEventArgs e){
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...