2014-06-08 48 views
1

調用@Renderbody()方法的佈局頁面有一個導航欄,我想向表示用戶當前所在頁面的按鈕添加橙色邊框。我認爲這樣做的唯一方法是向每個單獨頁面上的按鈕添加一個類(.current或其他),但由於這些元素存在於_layout頁面中,因此我無法每頁都更改它們。這很容易處理JavaScript,但有沒有一種方法可以使用嚴格的HTML和CSS?訪問沒有JavaScript的佈局元素

回答

0

僅僅因爲他們創建菜單發生在_Layout中並不意味着它不能在逐頁基礎上進行更改。在渲染_Layout時,您仍然可以訪問所有常用的管道組件。我可以想到兩種可以使用的方法,不確定我喜歡哪種方法,或者我是否真的喜歡其中的任何一種,但他們應該告訴你事情是可能的,也許你可以想出一種更清晰的方法來實現它或其他人可以想出一個更好的方式來做到這一點。

  1. 您可以加載的東西進入的ViewData對象在你的行動(或正在運行的每一個動作一個基本的控制器或一些通用代碼的一部分),然後可以在_layout被打撈出來,用於添加該類到相關按鈕。

  2. 您可以從_Layout中查詢Route對象來確定當前正在查看的頁面,並使用它將該類添加到相關按鈕。

希望這會有所幫助。

乾杯邁克