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

时间:2013-09-03 10:02:31

标签: c# asp.net

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

不,类是客户端,用于css和javascript。如果指定runat="server"进行控制,则可以使用ID访问元素。

答案 2 :(得分:0)

是的,你可以,这很棘手,但可以做到。

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 ");

这样你就可以在aspx页面中使用IEnumerable控件,其中CssClass = box2,循环遍历它们并设置它们的可见性。