您好我正在爲客戶端構建一個Web應用程序,並使用一些獨特的控件和條件。一頁涉及一個由大約100個組合框和列表框組成的詳細搜索功能。我正在嘗試做的是做一個foreach(已經被改變/選擇的控件),並將它提供給一個函數來生成一個查詢。有100個,但用戶可能只使用三個特定的搜索?找到在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