触发TreeView的TreeNodeCheckChanged事件

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

  • 前台页面
     1 <html>
     2 <head runat="server">
     3     <title></title>
     4 
     5     <script type="text/javascript">
     6         function postBackByObject() {
     7             var o = window.event.srcElement;
     8             if (o.tagName == "INPUT" && o.type == "checkbox") {
     9                 //第一个参数写UpdatePanel的ID,否则就是整个页面刷了
    10                 __doPostBack("UpdatePanel1", "");
    11             }
    12         }
    13     </script>
    14 
    15 </head>
    16 <body>
    17     <form id="form1" runat="server">
    18         <asp:ScriptManager ID="ScriptManager1" runat="server">
    19         </asp:ScriptManager>
    20         <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    21             <ContentTemplate>
    22                 <asp:TreeView runat="server" ID="treeView1"
    23                     OnTreeNodeCheckChanged="treeView1_TreeNodeCheckChanged">
    24                 </asp:TreeView>
    25             </ContentTemplate>
    26         </asp:UpdatePanel>
    27     </form>
    28 </body>
    29 </html>
  • 后台页面
    1     protected void Page_Load(object sender, EventArgs e)
    2     {
    3         if (!IsPostBack)
    4         {
    5             treeView1.Attributes.Add("onclick", "postBackByObject()");
    6         }
    7     }

转载于:https://www.cnblogs.com/David-Huang/p/3857295.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值