C# ASP.NET:设置多个复选框。根据ID列表选中';这是一个查询的结果

C# ASP.NET:设置多个复选框。根据ID列表选中';这是一个查询的结果,c#,asp.net,C#,Asp.net,我试图根据复选框ID列表将多个复选框设置为选中。 以下是一个例子: <asp:CheckBox ID="TS_Deviation" runat="server" /> 该列表包含要设置为选中的复选框ID。 例如,clist[0]将包含纯文本形式的“TS_偏差”。 我试图通过列表设置该值的原因是,该列表来自linq查询,该查询提取需要设置为checked=true的每个复选框的ID。 我的问题是我不知道如何使用clist[I]作为复选框ID将其设置为checked。能否让linq查询

我试图根据复选框ID列表将多个复选框设置为选中。 以下是一个例子:

<asp:CheckBox ID="TS_Deviation" runat="server" />
该列表包含要设置为选中的复选框ID。 例如,
clist[0]
将包含纯文本形式的
“TS_偏差”
。 我试图通过列表设置该值的原因是,该列表来自linq查询,该查询提取需要设置为
checked=true
的每个复选框的ID。
我的问题是我不知道如何使用clist[I]作为复选框ID将其设置为checked。

能否让linq查询选择实际的复选框对象并设置其属性

如果没有,您可以使用您拥有的id在页面上查找控件

Page.FindControl(clist[i]);

如果您的列表包含“明文”形式的ID,我假设您指的是ID字符串

如果是这样,您需要调用以根据其ID获取实际的复选框。请注意,这不是递归函数,因此它只查找直接的子控件。如果您的复选框位于容器内,即:

<asp:Panel ID="CheckboxContainer" runat="server"> .... checkboxes .... </asp:Panel>
获取复选框。If将返回一个控件,因此您需要将其强制转换为
复选框,然后才能调用
.Checked
属性。

查看


编辑:抱歉,已修复webforms。

您的问题是什么?问题是什么?你有什么错误吗?我想我的问题很清楚,只是为了澄清我添加了什么问题。
Controls.Find(…)
是一个winforms方法,问题是关于ASP.Net的。
<asp:Panel ID="CheckboxContainer" runat="server"> .... checkboxes .... </asp:Panel>
var check = CheckboxContainer.FindControl( clist[i] ) as CheckBox;
int i = clist.Count -1;
do
{    
    CheckBox cb= (CheckBox)Page.FindControl.Find(clist[0], true);     
    cb.Checked = true;
    i--;
} while (clist != null && i >= 0);