遍历Page_PreRender上的NavigateUrls并更改样式

时间:2011-05-27 10:03:40

标签: asp.net vb.net

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

甚至更好,迭代某个DIV中的所有超链接NavigateUrls。

我可以单独进行,但这需要很长时间,因为链接太多而且难以管理:

   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

1 个答案:

答案 0 :(得分:2)

您可以在Page_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