是否可以在ASP.NET中使用类

本文关键字:NET ASP 是否 | 更新日期: 2023-09-27 18:29:56

我对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;
    }
}

是否可以在ASP.NET中使用类

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

否,class是客户端,用于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 ");

有了这个,你就可以在CssClass=box2的aspx页面中IEnumerable控件,循环它们并设置它们的可见性。