為了使用伺服器端控制項,這樣做二級選單。

2022-03-05 23:19:52 字數 1813 閱讀 4680

專案需求聯動二級選單,而且當滑鼠滑動到一級選單相應專案的時候顯示二級選單。本來沒有什麼,網上一堆原始碼拿過來用就可以,可是……

由於**目錄太多,而且這個二級選單作為乙個使用者自定義控制項在不同的aspx頁面引用,頁面的目錄不一致,經過考量,最後決定選單鏈結的位址全部用伺服器端控制項實現,因為它可以用"~"這個好東東。網上很多的二級選單**都是把鏈結資訊放在js中,可是伺服器端控制項不能放在裡面。最後,我一口氣宣告了幾個div,然後控制css屬性,o(∩_∩)o...就是下面這個樣子了,還不錯,免得用"../../../../"這樣的東東。

html————————————————————————

/*注意:紅色標註的地方是使用了伺服器控制項的

*/**首頁 -

主要欄目 - 主要欄目 - 主要欄目 -

主要欄目 - 主要欄目

- 主要欄目 -

主要欄目

歡迎您!(*^__^*) 嘻嘻……

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單 - 二級選單 - 二級選單

- 二級選單 - 二級選單

js——————————————————————————————

/*注意:這裡我用到了asp.net ajax,所以寫了$get(),方法,如果你沒有引用,換成document.getelementbyid()方法就好了

*/function changechannelchild(noint)

/*注意這裡,對容器中的一類標籤統一使用css定義,這樣免得給每乙個a或者asp:hyperlink定義class或者cssclass屬性。

*/#topchannel a:link,

#topchannel a:visited,

#topchannel a:active

#topchannel a:hover

#topchannelchild

/*注意這裡,對容器中的一類標籤統一使用css定義,這樣免得給每乙個a或者asp:hyperlink定義class或者cssclass屬性。

*/#topchannelchild a:link,

#topchannelchild a:visited,

#topchannelchild a:active

借助css的力量其實實現乙個聯動的二級選單很容易。

當然,現在已經開始考慮把專案中每個目錄定義單獨的使用者自定義控制項來做,因為這些以後也是需要獨立的。後面的需求已經出現到了二級頁面要保持相應二級選單展開狀態,所以分開是最終的選擇。到時候把伺服器端控制項改成html編碼就好了,還是很方便。

控制項伺服器端伺服器控制項與客戶端控制項

在寫這篇文章之前,已經寫過了幾篇關於改控制項伺服器端主題的文章,想要了解的朋友可以去翻一下之前的文章 伺服器控制項的 在伺服器端解釋執行,生成根據使用者的瀏覽器而定的html元素。客戶端控制項由客戶端瀏覽器解釋執行。伺服器控制項需要回發執行,當初次開啟頁面時,需初始化。伺服器端控制項是由runat屬...

伺服器端使用Screen

如果你在linux伺服器端工作,沒有聽說過screen或tmux那簡直弱爆了。有時間自己可以多了解一些。簡單介紹下screen screen是乙個可以在多個程序之間多路復用乙個物理終端的視窗管理器。screen中有會話的概念,使用者可以在乙個screen會話中建立多個screen視窗,在每乙個scr...

dhl 4 0伺服器端控制項

套用母版頁之後,生成的html 以下是引用片段 是不是看到問題了,原始檔控制項元素的id和生成html檔案的id不一致。表單from的name屬性和id屬性變成了aspnetform,控制項的id屬性被無緣無故了加上了ctl00 contentplaceholder1 字首,其name屬性也加上了c...