今天主要介绍关于TreeNodeCheckChanged如何通过事件触发,通过示例代码详细的介绍,应该对大家的学习或工作有一定的参考学习价值,有需要的朋友可以参考


此事件不会主动回发,需要通过手动编写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 www.20231128.com  )

    {

      treeView1.Attributes.Add("onclick", "postBackByObject()");

    }

  }

文章来自脚本之家