我有一个带有复选框的.NET TreeView控件。我希望能够在选中复选框时获取节点的值。基本上,这是一个电子邮件联系人树,当用户选择一个复选框时,我想拉取节点值(电子邮件地址)并将其放在文本框中。第二部分没问题,我只需要调用JS函数将电子邮件附加到文本框中。
因此,问题是如何使用JS从复选框中提取节点的值。除非有人有替代方法,否则我考虑将TreeView扩展为不包含普通复选框,而是包含可以存储值的复选框。注意:我有一个名为CheckBoxValue的现有控件,它将执行此操作。从根本上说,我的问题是如何扩展TreeView以包含它?我相信这将在CreateChildControls方法中,但会喜欢一些帮助。
有什么想法吗?
谢谢, 莱恩
答案 0 :(得分:0)
如果您要存储的值是字符串,则可以使用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;
}