1. 程式人生 > 程式設計 >TreeNodeCheckChanged事件觸發方法程式碼例項

TreeNodeCheckChanged事件觸發方法程式碼例項

這個事件不會主動postback,需要手動寫javascript觸發。對網上找到的方法做了些改進,增加UpdatePanel,以免頁面不停的刷。這裡就不考慮效能神馬的了,因為既然專案已經允許選擇使用TreeView伺服器控制元件了,也就不要在乎多一個UpdatePanel了。

前臺頁面

<html>
<head runat="server">
  <title></title>

  <script type="text/javascript">
    function postBackByObject() {
      var o = window.event.srcElement;
      if (o.tagName == "INPUT" && o.type == "checkbox") {
        //第一個引數寫UpdatePanel的ID,否則就是整個頁面刷了
        __doPostBack("UpdatePanel1","");
      }
    }
  </script>

</head>
<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
        <asp:TreeView runat="server" ID="treeView1"
          OnTreeNodeCheckChanged="treeView1_TreeNodeCheckChanged">
        </asp:TreeView>
      </ContentTemplate>
    </asp:UpdatePanel>
  </form>
</body>
</html>

後臺頁面

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。