首页 新闻 会员 周边

Asp.Net 屏蔽 TreeView 根节点事件.

0
[已解决问题] 解决于 2013-01-21 15:17

哥哥姐姐些:

  怎么屏蔽"TreeView "的根节点选择事件啊,就是当点击树的根节点的时候,不触发选择事件.选择子节点的时候才触发.当然可以在后台代码中判断,但是我不想那样,有木有好一点的建议啊.

                    Q Q Q

码半仙的主页 码半仙 | 初学一级 | 园豆:7
提问于:2012-12-18 14:11
< >
分享
最佳答案
0

后台的作法:

 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            if(!(this.TreeView1.SelectedNode.ChildNodes.Count>0))
            {
            Response.Write(this.TreeView1.SelectedNode.Text);
            }
        }
<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
            <Nodes>
                <asp:TreeNode Text="China" Value="1">
                    <asp:TreeNode Text="Shanghai" Value="11"></asp:TreeNode>
                    <asp:TreeNode Text="Jiangsu" Value="12"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="TEST" Value="2">
                    <asp:TreeNode Text="TEST1" Value="21"></asp:TreeNode>
                    <asp:TreeNode Text="TEST2" Value="22"></asp:TreeNode>
                </asp:TreeNode>
            </Nodes>
        </asp:TreeView>
奖励园豆:5
chenping2008 | 大侠五级 |园豆:9836 | 2012-12-18 15:00

你好 大侠,我的意思是说不通过后台判断.有解决办法吗?求赐教!

码半仙 | 园豆:7 (初学一级) | 2012-12-18 20:16

@Actor: js 来判断:

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            Response.Write(this.TreeView1.SelectedNode.Text);
        }
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#TreeView1>table a").attr("href", "").click(function () {
                return false;
            });
        });
    </script>

 <asp:TreeView ID="TreeView1" runat="server" 
        OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
            <Nodes>
                <asp:TreeNode Text="China" Value="1">
                    <asp:TreeNode Text="Shanghai" Value="11"></asp:TreeNode>
                    <asp:TreeNode Text="Jiangsu" Value="12"></asp:TreeNode>
                </asp:TreeNode>
                <asp:TreeNode Text="TEST" Value="2">
                    <asp:TreeNode Text="TEST1" Value="21"></asp:TreeNode>
                    <asp:TreeNode Text="TEST2" Value="22"></asp:TreeNode>
                </asp:TreeNode>
            </Nodes>
        </asp:TreeView>
chenping2008 | 园豆:9836 (大侠五级) | 2012-12-18 20:49

@chenping2008: 

    

$(function () {
            $("#TreeView1>table a").attr("href", "").click(function () {
                return false;
            });
        });

 

你好,大侠 

    " #TreeView1>table a "  这段JQuery没怎么看懂,麻烦解释一下好吗?

    

码半仙 | 园豆:7 (初学一级) | 2012-12-20 09:30

@Actor: treeview1 下的直接table子节点(层次是1) 下的所有 a 

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-20 09:34

@chenping2008: 太感谢你了,还有个问题,TreeView客户端有选择事件吗?QQQ

码半仙 | 园豆:7 (初学一级) | 2013-01-09 11:41

@chenping2008: 大侠 求救啊,屏蔽不了根节点事件啊,我的意思是:只有最末的节点才可以选择.

码半仙 | 园豆:7 (初学一级) | 2013-01-09 11:56

@Actor: 

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            if (this.TreeView1.SelectedNode.ChildNodes.Count <= 0)
            {
                Response.Write(this.TreeView1.SelectedNode.Text);
            }
}

那就在后台判断吧,前台那个js代码去掉。就用上面的后台代码就行了

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-09 13:41
其他回答(1)
1

页面上用js处理,如果是跟节点不触发提交事件。 不过判断起来比较麻烦

卒子 | 园豆:588 (小虾三级) | 2012-12-18 16:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册