0

我是 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;
    }
}
4

3 回答 3

0

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

于 2013-09-03T10:06:48.080 回答
0

不,类是客户端,用于 css 和 javascript。runat="server"如果分配给控件,您可以访问具有 ID 的元素。

于 2013-09-03T10:08:36.360 回答
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 ");

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

于 2013-09-03T11:20:10.960 回答