我有几个零散的<p>
aspx 页面上的元素,我使用这样的类将它们组合在一起 - <p class="instructions" runat="server">
在我后面的代码中,使用 C# 我想隐藏这些元素,使用类似
instructions.Visible = false;
但是我意识到,如果我使用 ID,我只能在代码隐藏中执行此操作,但这将导致无效的 HTML/CSS 选择器,因为您不能拥有具有相同 ID 名称的多个 ID...
或者,如果不按类别,是否还有另一种方法对控件进行分组?
编辑:我不会使用 JavaScript,所以选择必须在 C# codebehind/ASP.NET 中完成
最佳答案
事情很简单。在您的 ASPX 中:
<p class="instructions" runat="server" OnPreRender="Paragraph_PreRender">
在你的代码隐藏中:
protected void Paragraph_PreRender(object sender, EventArgs e)
{
Control paragraph = (Control)sender;
paragraph.Visible = !paragraph.CssClass.Contains("instructions");
}
代码隐藏将自动连接到您类中的 PreRender 事件处理程序。这将发送者转换为控件并根据 css 类设置其可见性。 您只需调整标签,不需要大量代码遍历您的控件集合。
关于c# - 如何在 ASP.NET 中按类而不是 ID 选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2766408/