0

現在のページのファイル名に応じて 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

これが機能しないことはわかっていますが、誰かが正しい方法を教えてくれれば幸いです。前もって感謝します。

4

2 に答える 2

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」が探しているページの名前であると仮定します)

于 2012-10-12T12:34:31.123 に答える
0

問題は、ハイパーリンクにロード イベントがあると想定していることだと思います。コードにブレークポイントを設定しましたか? もしそうなら、それはヒットしていますか?

可能であれば、ページの PreInit イベントで css クラスを設定する必要があります。これは、動的サーバー コントロール/値を操作するのに最適なイベントです。

于 2012-10-12T12:38:51.277 に答える