C# 可以在ASP.NET中使用类吗

C# 可以在ASP.NET中使用类吗,c#,asp.net,C#,Asp.net,我是ASP.NET的新手,所以请原谅,当我从工具栏中删除一个元素时,它附带了一个ID。我只是想知道是否有可能创建一个div类,像.box2那样使用它,并发出像box2.Visible=false <style> #box2 { width: 100px; height: 100px; background: red; } </style> <form id="form1" runat="se

我是ASP.NET的新手,所以请原谅,当我从工具栏中删除一个元素时,它附带了一个ID。我只是想知道是否有可能创建一个div类,像
.box2
那样使用它,并发出像
box2.Visible=false

<style>
    #box2
    {
        width: 100px;
        height: 100px;
        background: red;
    }
</style>


<form id="form1" runat="server">
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click1" />
    <div runat="server" id="box2"></div>
</form>



protected void Button1_Click1(object sender, EventArgs e)
{
    if (box2.Visible == true)
    {
        box2.Visible = false;
    }
    else
    {
        box2.Visible = true;
    }
}

#框2
{
宽度:100px;
高度:100px;
背景:红色;
}
受保护的无效按钮1\u单击1(对象发送者,事件参数e)
{
如果(box2.Visible==true)
{
框2.可见=假;
}
其他的
{
框2.可见=真实;
}
}

不,这是不可能的。您必须将Id用于任何服务器端控件

否,类是客户端,用于css和javascript。如果将
runat=“server”
分配给控件,则可以访问ID为的元素。

是的,可以,这很棘手,但可以完成

public static class Methods
{
    public static IEnumerable<Control> GetAllControls(Control parent)
    {
        foreach (Control control in parent.Controls)
        {
            yield return control;
            foreach (Control descendant in GetAllControls(control))
            {
                yield return descendant;
            }
        }
    }
}



var securedControls = Helpers.Methods.GetAllControls(this)
                                      .OfType<WebControl>()
                                      .Where(c => c.CssClass == "box2 ");
公共静态类方法
{
公共静态IEnumerable GetAllControls(控件父级)
{
foreach(父控件中的控件)
{
收益率控制;
foreach(GetAllControls(控件)中的控件子体)
{
产量回报后代;
}
}
}
}
var securedControls=Helpers.Methods.GetAllControls(此)
第()类
。其中(c=>c.CssClass==“box2”);

有了它,您将在aspx页面中看到许多控件,其中CssClass=box2,在它们上面循环并设置它们的可见性。

No您不能根据类名从服务器端执行任何操作。你必须使用身份证。