如何根据当前页面文件名更改超链接Css类(vb.net,asp.net)

时间:2012-10-12 12:24:33

标签: asp.net css vb.net

我正在尝试根据当前页面的文件名更改Hyperlink CssClass。 像这样:

Protected Sub lnkAbout_Load(sender As Object, e As System.EventArgs) Handles lnkAbout.Load

    Dim CURL As String = Request.Url.ToString

    If Me.lnkAbout.NavigateUrl = CURL Then
        Me.lnkAbout.CssClass = "AboutActive"
    End If

End Sub

我知道这不行,但如果有人告诉我正确的方法,我会很感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用Path.GetFileName + Request.Url.AbsolutePath

Dim pageName = System.IO.Path.GetFileName(Request.Url.AbsolutePath)
If pageName = "About.aspx" Then
    Me.lnkAbout.CssClass = "AboutActive"
End If

(假设“About.aspx”是您正在寻找的页面的名称)

答案 1 :(得分:0)

我认为问题是你假设超链接有一个加载事件。您是否在代码中设置了一个断点,如果是,它是否会被击中?

如果可能,您应该在Page的PreInit事件中设置css类。这是操纵动态服务器控件/值的最佳事件。