我如何checkbox.Checked使用“控制”类型的变量?

时间:2014-05-08 06:18:10

标签: c# asp.net

我正在尝试将CheckBox的ID存储在Control变量中,然后在CheckBox.Checked为true或false时测试它,这是我的代码:

    Control checkbox1 = FindControl(foo);
    if (checkbox1.Checked)
    {

    }

我收到了这个错误:

  

'System.Web.UI.Control'不包含'Checked'的定义,也没有扩展方法'Checked'接受类型为'System.Web.UI.Control'的第一个参数'(你丢失了吗?)使用指令或程序集

3 个答案:

答案 0 :(得分:1)

CheckBox checkbox1 = (CheckBox)FindControl(foo);
if (checkbox1.Checked)
{

}

您必须转换为正确的类型。它不会通过.NET中的魔法发生。

答案 1 :(得分:1)

你应该这样使用

CheckBox checkbox1 = FindControl(foo) as CheckBox;
if(checkbox1!=null)
{
    if (checkbox1.Checked)
    {
         //write your code here
    }
 }

答案 2 :(得分:0)

如果您的控件放在gridview中..尝试循环通过gridview并找到控件并检查它。

foreach (GridViewRow i in Gridview1.Rows)
{
    CheckBox checkbox1 = (CheckBox)FindControl(foo);
    if (checkbox1.Checked)
    {

    }
}

我猜我的Checkbox在gridview里面。你也可以在其他情况下这样做..