C# asp.net:treeview-如果选中,是否显示文本框?
我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框 我要做的是向用户显示一个树视图,其中每个节点都是一个字符串。他们将通过选中该框来选择所需的每个字符串 问题: 如果用户选择了特定的复选框,我需要一个文本框来显示以获取用户的输入C# asp.net:treeview-如果选中,是否显示文本框?,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框 我要做的是向用户显示一个树视图,其中每个节点都是一个字符串。他们将通过选中该框来选择所需的每个字符串 问题: 如果用户选择了特定的复选框,我需要一个文本框来显示以获取用户的输入 问题:如何使用treeview从用户处获取字符串输入 树视图不支持以本机方式包含文本框。您可以使用JavaScript解决方案创建客户端文本框,并将值映射序列化为 设置TreeView和HiddenFiel
问题:如何使用treeview从用户处获取字符串输入 树视图不支持以本机方式包含文本框。您可以使用JavaScript解决方案创建客户端文本框,并将值映射序列化为
设置TreeView和HiddenField:
<asp:TreeView runat="server"
ID="MyTreeView"
ShowCheckBoxes="All"
NodeStyle-CssClass="node">
...
</asp:TreeView>
<asp:Hidden runat="server" ID="TreeViewTextValues" />
未经测试,但希望是一个有帮助的开始。我不明白。网页上唯一的东西就是提到的treeview吗?我的意思是,你为什么不把它放在其他地方呢?另外,我认为ListView更适合这份工作,甚至是一个列表框。@AteşGÜRAL:谢谢你的建议,但用户可以编辑吗?好的,你可以使用这个文本框(即将出现的那个)。即使该文本框用于其他用途,您也可以使用一个常量文本框,当列表框的selectedItem发生更改时,该文本框会获取列表框的selectedItem,然后编写所需内容,单击按钮并保存。我在项目的一部分中这样做。我认为TreeView是为分类数据创建的,这就是我建议使用ListBox或ListView的原因。
$(".node :checkbox").click(function (e) {
var node = $(this).closest(".node");
if (this.checked) {
$("<input/>").addClass("nodeTextBox").appendTo(node);
}
else {
node.find("input.nodeTextBox").remove();
}
});
$("form").submit(function (e) {
var nodeText = $("input.nodeTextBox").map(function () {
return encodeURIComponent(this.value);
});
$("input[type=hidden][id$=TreeViewTextValues]").val(nodeText.join("&"));
});
var text = TreeViewTextValues.Value.Split('&').Select(s => Server.UrlDecode(s));
// text.ElementAt(n) maps to MyTreeView.CheckedNodes[n]