asp.net中的c#winforms控制循环方法

asp.net中的c#winforms控制循环方法,c#,asp.net,.net,C#,Asp.net,.net,我在winforms c中得到了这个方法,它工作得非常好。但我不知道如何使asp.net网页的方法完全相同。 任何小小的帮助都将不胜感激 public static void rat(Form x) { Form myForm = x; foreach (Control c in myForm.Controls) { if (c.Name != "ctn" && !(c is Label))

我在winforms c中得到了这个方法,它工作得非常好。但我不知道如何使asp.net网页的方法完全相同。 任何小小的帮助都将不胜感激

public static void rat(Form x)
    {
        Form myForm = x;
        foreach (Control c in myForm.Controls)
        {
            if (c.Name != "ctn" && !(c is Label))
            {
                c.Enabled = !(c.Enabled);
            }
        }
    }

只需更改下面两行。由于它是一个
ASP.NET
应用程序,因此您需要的是
页面
实例,而不是
表单
实例。导致每个
ASP.NET
webform继承自
Page
基类,同样在
Winform
中,每个表单继承自
form
基类

public static void rat(Page x)
    {
        Page myPage = x;
考虑到您的webform名称是
webform1
,您可以这样做

public static void rat(Page x)
    {
        webform1 myForm = (webform1)x;
        foreach (Control c in myForm.Controls)
        {
            if (c.Name != "ctn" && !(c is Label))
            {
                ((Label)c).Enabled = !((Label)c).Enabled);
            }
        }
    }

我试过了。它不起作用。启用的方法不可用there@Brendom,这些
Enable
是控件属性,必须存在于每个控件中。请正确尝试。“System.Web.UI.Control”不包含“Enabled”的定义,并且找不到接受“System.Web.UI.Control”类型的第一个参数的扩展方法“Enabled”(是否缺少using指令或程序集引用?)ENABLED@Brendom,普通;在尝试启用属性之前,必须强制转换为精确控制。我打赌发布的代码在winform中也不起作用。请参阅稍后编辑。此代码在WINFORMSC#中运行良好。正在等待您的编辑