[セットトップ]TreeViewコントロールTreeNodeCheckChendイベントは自動的に返送できません。


TreeNodeCheckChendイベントを直接使うと自動的に返送できません。すぐにページを更新して、対応する操作を実行しないです。
シナリオを通してイベントの返信をコントロールできます。コードは以下の通りです。
JSは一つの方法を追加する必要があります。
   function TreeViewCheckBox_Click(e) {
        if (window.event == null)
            o = e.target;
        else
            o = window.event.srcElement;
        if (o.tagName == "INPUT" && o.type == "checkbox") {
            __doPostBack("", "");
        }
    } 
この方法はFFおよびIEをサポートし、Eを伝えないとFFをサポートしない。
ページツリーコントロールの追加Onclickは転送をクリックします。 イベント
   <asp:TreeView ID="PermTreeView" runat="server" ExpandDepth="1" ShowLines="True" 
                        ShowCheckBoxes="All" BorderStyle="None" Height="400px" 
                        ontreenodecheckchanged="PermTreeView_TreeNodeCheckChanged"  onclick="TreeViewCheckBox_Click(event)" >
                    </asp:TreeView>
サービス:
    protected void PermTreeView_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
    {
           TreeNodeCollection node = e.Node.ChildNodes;
           foreach (TreeNode item in node)
           {
               item.Checked = e.Node.Checked;
               CheckNode(item.ChildNodes,e.Node.Checked);
           }
           e.Node.ExpandAll();
         
    }


    public void CheckNode(TreeNodeCollection node,bool selected) 
    {
        foreach (TreeNode item in node)
        {
            item.Checked = selected;
            CheckNode(item.ChildNodes,selected);
        }
    }
最終的な効果:親ノードをクリックして親ノードの下のすべてのサブノードを選択して展開することができます。