asp.net - 如何使用 FOR 循环检索 ID 并设置 CSS 规则?
问题描述
我是 ASP.NET 的新手,我尝试基于 VB 代码创建一个网页,以在前端设置其行为。现在我有了 asp Panel 标签列表,每个标签都有自己的 ID,并且遵循数字序列。我想要做的是用 FOR 循环检索其中一些 ID 以将它们设置为 CSS 类。我以为这会很容易,但这是多么大的错误!
好吧,像这样的直接调用myPanel7.CssClass = "green"
有效。这就是为什么我天真地认为像这样的简单代码可能有效,但事实并非如此。
For i=1 to x
xID = “myPanel” & i.ToString()
xID.CssClass = "green"
Next
因此,我阅读了一些博客和 MS 文档,我了解到有必要创建一个对象来继承这些属性,例如 ID 和 CSS。我试过这段代码,它可以工作。
Dim xPanel As Panel
xID = "myPanel7"
xPanel = DirectCast(Page.FindControl(xID), Panel)
xPanel.CssClass = "green"
但是当我尝试将它应用于 FOR 循环时,它没有。
我该如何解决这个问题?,我需要获取这些 ID 并应用一个或另一个 CSS 规则。有人可以请解释我做错了什么吗?为什么这样的事情不起作用?
xID = "myPanel" & i.ToString()
好吧,我把我正在做的代码的结构留给你。非常感谢您的帮助。
默认.aspx
<asp:Panel ID="Container" CssClass="frm" runat="server">
<asp:Panel ID="Content" CssClass="txt" runat="server">
<asp:Panel ID="myPanel1" CssClass="white" runat="server"></asp:Panel>
<asp:Panel ID="myPanel2" CssClass="white" runat="server"></asp:Panel>
<asp:Panel ID="myPanel3" CssClass="white" runat="server"></asp:Panel>
<asp:Panel ID="myPanel4" CssClass="white" runat="server"></asp:Panel>
. . .
</asp:Panel>
</asp:Panel>
默认.aspx.vb
Partial Class _Default
Inherits System.Web.UI.Page
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim xID As String
Dim xPanel As Panel
For i As Integer = 1 to xVar
xID = "myPanel" & i.ToString()
xPanel = DirectCast(Page.FindControl(xID), Panel)
xPanel.CssClass = "green"
Next
End Sub
End Class
解决方案
我的猜测是您正在使用母版页。
因此,您可以在父容器中使用 FindControl,例如Container
xPanel = DirectCast(Container.FindControl(xID), Panel)
ContentPlaceHolder
或者在包含控件的页面上使用 FindControl并首先找到
Dim cph = CType(Master.FindControl("ContentPlaceHolder1"), ContentPlaceHolder)
然后在循环中
xPanel = DirectCast(cph.FindControl(xID), Panel)
推荐阅读
- java - 如何获取log4j2中所有记录器的列表
- laravel - 无法使用 SendGrid 中的 2 个可能的身份验证器在用户名“apikey”的 SMTP 服务器上进行身份验证
- mysql - Mysql 5.7 - 从子选择中获取多个值
- r - 如何使用 for 循环找到两行的平均值?
- cassandra - Apache Beam - 将 BigQuery TableRow 写入 Cassandra
- slider - 在 Power BI 中对公历日期进行排序
- github - 使用语法高亮将 Jupyter Notebook 上传到 Github
- r - 从数据框中获取因子级别作为整数
- regex - 正则表达式只允许有效的时间偏移值
- bash - 如何抑制 Bash 中的函数输出?