TreeNodeCheckChanged事件触发方法代码实例

时间:2021-12-22 16:23:08

这个事件不会主动postback,需要手动写javascript触发。对网上找到的方法做了些改进,增加UpdatePanel,以免页面不停的刷。这里就不考虑性能神马的了,因为既然项目已经允许选择使用TreeView服务器控件了,也就不要在乎多一个UpdatePanel了。

前台页面

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<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>

后台页面

?
1
2
3
4
5
6
7
protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      treeView1.Attributes.Add("onclick", "postBackByObject()");
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/David-Huang/p/3857295.html