asp.net:检查treeview上的用户输入

时间:2011-10-07 02:55:48

标签: c# javascript asp.net

我允许用户检查与树视图中的节点关联的复选框。

我想在检查特定节点后立即提示用户输入。 例如:

if node#2 is checked then get user input
  1. 我该怎么办?用javascript进行c#是最好的方法吗?  如果是这样,那怎么样?

  2. 如何在点击提交按钮后获得所选备注列表?

3 个答案:

答案 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是最佳方式。