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

如何根据当前页面文件名(vb.net、asp.net)更改超链接CssClass,asp.net,css,vb.net,Asp.net,Css,Vb.net,我正试图根据当前页面的文件名更改超链接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 =

我正试图根据当前页面的文件名更改超链接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

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

您可以使用
Path.GetFileName
+:


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

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


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

您的意思是要根据用户在当前页面上登陆的页面名称更改CssClass吗?这是从主页用户点击关于页面。在about页面(现在是当前页面)中有一个链接,你想给它CSSClass=Home?我只是想根据当前页面的不同,更改我的网站导航中的超链接CSSClass(是这样的,如果客户端登陆about.aspx,那么链接about的颜色与其他链接不同)。蒂姆轻而易举地解决了这个问题。谢谢。蒂姆在上面的帖子中根据我的需要解决了身份证问题。我只需要获取当前页面的文件名,这样我就可以更改当前超链接的CSSClass。谢谢你的信息,一切都很有用。祝您有个美好的一天。
Dim pageName = System.IO.Path.GetFileName(Request.Url.AbsolutePath)
If pageName = "About.aspx" Then
    Me.lnkAbout.CssClass = "AboutActive"
End If