Asp.net 在页面上的NavigateUrls中进行迭代,然后进行预渲染并更改样式

Asp.net 在页面上的NavigateUrls中进行迭代,然后进行预渲染并更改样式,asp.net,vb.net,Asp.net,Vb.net,我不确定这是否可能(可能有不同的方法实现),但是否有一种方法可以迭代页面_PreRender上的所有超链接,如果NavigateUrl与文件名匹配,那么我可以向链接添加一个类以将其显示为活动页面 或者更好的是,在某个DIV中遍历所有超链接导航 我可以单独做,但这会花费太长时间,因为有太多的链接,而且很难管理: Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles M

我不确定这是否可能(可能有不同的方法实现),但是否有一种方法可以迭代页面_PreRender上的所有超链接,如果NavigateUrl与文件名匹配,那么我可以向链接添加一个类以将其显示为活动页面

或者更好的是,在某个DIV中遍历所有超链接导航

我可以单独做,但这会花费太长时间,因为有太多的链接,而且很难管理:

   Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender

        Dim filePath As String = System.Web.HttpContext.Current.Request.Path

        If filePath = "/" & hMembership.NavigateUrl Then
            hMembership.CssClass = "active"
        End If

    End Sub

您可以在页面_PreRender中执行以下操作:

    Dim filePath As String = System.Web.HttpContext.Current.Request.Path

    For Each Control As Control In Me.Form.Controls
        If TypeOf (Control) Is HyperLink Then
            With TryCast(Control, HyperLink)
                If .NavigateUrl = filePath Then
                    .CssClass = "active"
                End If
            End With
        End If
    Next Control

谢谢Lefty,通过一些更改/添加,我走上了正确的道路。