找到在asp.net中选择的控件
您好我正在为客户端构建一个Web应用程序,并使用一些独特的控件和条件。一页涉及一个由大约100个组合框和列表框组成的详细搜索功能。我正在尝试做的是做一个foreach(已经被改变/选择的控件),并将它提供给一个函数来生成一个查询。有100个,但用户可能只使用三个特定的搜索?找到在asp.net中选择的控件
我知道必须有办法做到这一点。在此先感谢您的帮助
那么你可以使用类似:
List<Control> list = new List<Control>();
public void ControlRecursive(Control Root)
{
if(typeof(ComboBox) == Root.GetType() && ((ComboBox)Root).Checked)
list.Add(Root);
else if (Root is RadListBox)
{
// deal with RadListBox here
}
// if all your other types
// ...
foreach (Control Ctl in Root.Controls)
ControlRecursive(Ctl);
}
然后用ControlRecursive(form1);
这正是我想要做的事情,我正在玩java数组的想法,但是我最好用java来做shakey。让我问你一个问题。我正在使用Telerick RadListBox我似乎无法获得typeof识别。它与一个正常的ASP控制,不建议? – 2011-05-16 15:25:43
你应该问作为一个单独的问题,我不知道答案,除非说RadListBox可能继承自ListBox类型,并且可以检查它。 typeof()在自定义类上工作,所以我真的不知道为什么这不起作用。如果你需要它,那么就开始另一个关于如何使用该控制语句的问题。很高兴我可以帮助循环。 – 2011-05-16 18:18:49
我最终使用移动到常规列表框,我想使用rad列表框的唯一原因是因为您可以轻松地添加一个复选框,我觉得这是一个更友好的用户界面。再次感谢您的帮助 – 2011-05-16 19:09:20
您可以为每个控件都有一个与onchange/select关联的javascript函数,然后将已选择的项添加到javascript数组中。然后,您可以将该数组传递给您的查询生成,以了解要搜索的变量。
调用这个也许你应该有复选框这使每一个标准,这样,你就会知道,哪些是“使用”。 – 2011-05-16 00:51:46