我允许用户检查与树视图中的节点关联的复选框。
我想在检查特定节点后立即提示用户输入。 例如:
if node#2 is checked then get user input
我该怎么办?用javascript进行c#是最好的方法吗? 如果是这样,那怎么样?
如何在点击提交按钮后获得所选备注列表?
答案 0 :(得分:2)
最简单的方法是使用JavaScript函数处理每个CheckBox的OnChange事件,然后在select中显示一个提示框 - 然后将其输入保存在关联的隐藏字段(或HTML5中的data- *属性)中),取消选择后清除。
然后在C#中提交时,遍历所有CheckBox控件以查看已检查属性,以及所有隐藏字段(或HTML5中的data- *属性)以供输入。
答案 1 :(得分:2)
//get a list of selected nodes after submit button is clicked
protected void submitBtn_Click(object sender, EventArgs e)
{
if (this.tree.CheckedNodes.Count > 0)
{
// Iterate through the CheckedNodes collection and display the selected nodes.
foreach (TreeNode node in tree.CheckedNodes)
{
Response.Write(node.Value + "<br />");
}
}
else
{
Response.Write("No node selected.");
}
}
要在用户检查节点时获取所选节点,您必须在头标记的javascript中触发回发 像
<script language="javascript" type="text/javascript">
function postBackByObject() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
</script>
并将上面的代码放在Treeview的TreeNodeCheckChanged事件中 喜欢
protected void tree_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
if (tree.CheckedNodes.Count > 0)
{
// Iterate through the CheckedNodes collection and display the selected nodes.
foreach (TreeNode node in tree.CheckedNodes)
{
Response.Write (node.Value + "<br />");
}
}
else
{
Response.Write("No items selected.");
}
}
答案 2 :(得分:1)
您可以使用
treeview.Attributes.Add("onclick","prompt(this);");
on Page_Load
这将绑定一个javascript函数提示符(sender);你的树视图,&amp;在prompt()
函数中,您可以通过使用此函数找到引发事件的元素。发件人或您可以使用
event / e获取有关事件提升元素的信息,
for more info on event go here
如果您需要您的用户提供良好的响应性体验,那么javascript是最佳方式。