c# - 如何在 ASP.NET 中按类而不是 ID 选择元素?

标签 c# asp.net select css-selectors selection

我有几个零散的<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/

相关文章:

c# - 在 Windows Phone 8.1 模块 System.dll 中找不到类型 System.ComponentModel.TypeConverter

c# - 使用 C# 和 LINQ 如何找到重复的文件名?

asp.net - ASPX VS CSHTML 做网格处理

asp.net - 如何设置访问控制允许特定文件 web.config 上的来源

mysql group_concat 用于左表和右表

c - select() 和 poll() 在 Mac OS 上缺少一个封闭的管道

c# - #Eval 短日期

c# - MS 图表矩形注释宽度以百分比而非像素为单位

PHP mysql 更快的方法来选择语句以便以后更新?

asp.net - ASP.NET 报告系统