我需要获取x类型的表单上的所有控件.我很确定我曾经使用过这样的代码:
dim ctrls() as Control
ctrls = Me.Controls(GetType(TextBox))
Run Code Online (Sandbox Code Playgroud)
我知道我可以迭代所有控件让孩子们使用递归函数,但是有更简单或更直接的东西,可能如下所示?
Dim Ctrls = From ctrl In Me.Controls Where ctrl.GetType Is Textbox
Run Code Online (Sandbox Code Playgroud) 如果我想在ASP.NET页面上找到选中的复选框,我可以使用以下LINQ查询.
var checkBoxes = this.Controls
.OfType<CheckBox>()
.TakeWhile<CheckBox>(cb => cb.Checked);
Run Code Online (Sandbox Code Playgroud)
如果复选框嵌套在当前控件集合中,那么工作正常,但我想知道如何通过向下钻取到顶级控件的控件集合来扩展搜索.
这里问的问题是:
并且收到了非LINQ答案,我已经有自己的类型和ID作为扩展方法的递归控件搜索版本,但我只是想知道在LINQ中这样做有多容易?
我在我的页面中有许多面板,我正在收集用户信息并保存页面详细信息.页面面板包含文本框,下拉列表,列表框.
当我需要来到这个页面.如果这些控件有任何值,我需要显示Page.这该怎么做?