這項技術也用於菜單第章介紹了導航控件例如Menu和SiteMapPath控件我們在Wrox United Web站點中遇到的一個問題是希望將SiteMapPath控件放置在所有的頁面一上這意味著每個頁面都必須作為一個XML節點保存在SiteMap文件中然而我們不希望所有的頁面都出現在菜單中例如我們不希望用戶直接導航到Checkout頁面因為我們只希望他們從Shopping Cart頁面導航過去我們的問題是可以將一個節點保存在SiteMap和SiteMapPath中但是不出現在菜單中導航架構並沒有特別處理這種情況因此我們必須欺騙
我們所采取的處理是使用Master頁面的MenuItemDataBound事件(siteMaster)如下所示
SystemWebUIWebControlsMenuEventArgs)
Dim text As String = eItemText
If text = Checkout Or text = Shop Item Or text = Shopping Cart Then
eItemParentChildItemsRemove(eItem)
End If
End
在從SiteMap文件中提取每個菜單項並綁定到菜單的時候將會觸發MenuItemDataBound事件在這個事件過程中我們檢查菜單文本是不是我們不希望顯示的頁面如果是的則將其從菜單中刪除這意味著該菜單項在導航結構中仍然保留著位置但不會在菜單中顯示出來
由此可以看到由ASPNET產生的事件是非常有用的雖然ASPNET負責數據的綁定和顯示但是我們仍然能控制正在發生的事情下一小節介紹另一個示例其中事件由用戶間接觸發
ASPNET 入門教程完整版
[] [] [] []
From:http://tw.wingwit.com/Article/program/net/201311/14893.html