【问题标题】:Extend .NET TreeView CheckBox扩展 .NET TreeView 复选框
【发布时间】:2011-05-14 01:33:56
【问题描述】:

我有一个 .NET TreeView 控件,叶子上有复选框。我希望能够在选中复选框时获取节点的值。基本上,这是一个电子邮件联系人树,当用户选择一个复选框时,我想提取节点值(电子邮件地址)并将其放在文本框中。第二部分没问题,我只是调用一个JS函数将电子邮件附加到文本框中。

所以,问题是如何使用 JS 从复选框中提取节点的值。除非有人有替代方法,否则我正在考虑将 TreeView 扩展为不包含普通复选框,而是包含一个可以存储值的复选框。注意:我有一个名为 CheckBoxValue 的现有控件,它可以做到这一点。从根本上说,我的问题是如何扩展 TreeView 以包含它?我相信这将在 CreateChildControls 方法中,但希望得到一些帮助。

有什么想法吗?

谢谢, 瑞恩

【问题讨论】:

    标签: .net asp.net treeview


    【解决方案1】:

    如果您尝试存储的值是一个字符串,那么您可以使用TreeNode.Value 来存储它。这是一个你可以参考的例子。

     <asp:TreeView ID="TreeView1" runat="server"  onclick=" __doPostBack('','');"
            ontreenodecheckchanged="TreeView1_TreeNodeCheckChanged">
        </asp:TreeView>
    

    并加载树

            if (!IsPostBack)
            {
                TreeNode node = new TreeNode("RootNode");
                TreeView1.Nodes.Add(node);
    
                TreeNode childNode = new TreeNode("ChildNode");
                childNode.ShowCheckBox = true;
                childNode.Value = "foo@bar.com";
                node.ChildNodes.Add(childNode);
            }
    

    以及检查 CheckChanged 事件处理程序

        protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
        {
            TextBox1.Text = e.Node.Value;
        }
    

    【讨论】:

    • 这部分没问题,但正如我所提到的,我正在尝试通过 JavaScript 获取值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多