2012-10-12 31 views
0

我試圖根據當前頁面的文件名更改超鏈接CssClass。 事情是這樣的:如何根據當前頁面更改超鏈接CssClass文件名(vb.net,asp.net)

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 

我知道這不工作,但我會很感激,如果有人給我做了正確的方式。提前致謝。

+0

您的意思是說,您希望根據用戶登錄當前頁面的頁面名稱來更改CssClass?即來自首頁用戶點擊關於頁面。並在大約頁面(現在是當前頁面)有一個鏈接,你想給CSSClass = Home? –

+0

我只是想在我的網頁導航中更改超鏈接CssClass,具體取決於當前頁面(如此一來,如果客戶端登陸About.aspx,那麼鏈接About的顏色與其他鏈接不同)。蒂姆很容易解決它。謝謝。 – Gala

回答

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」是你要找的頁面的名稱),我想,這個問題是你

+0

非常感謝,它解決了問題! – Gala

0

假定超鏈接有一個加載事件。你有沒有在你的代碼中設置一個斷點,如果是的話,它是否被觸發?

如果可能的話,您應該在Page的PreInit事件中設置css類。這是操縱動態服務器控件/值的最佳事件。

+0

蒂姆在上面的帖子解決了id,因爲我需要。我只需要獲取當前頁面的文件名,這樣我就可以更改當前超鏈接的CSSClass。感謝這些信息,一切都很有用。祝你今天愉快。 – Gala

相關問題