ASP.NET中的Menu控制元件的應用及XmlDataSource的瞭解

NO IMAGE

以前一直以為選單都是通過sitemap製作的,最近看到專案中的方法是使用XmlDataSource榜定的。
Menusite.xlm檔案:
複製程式碼 程式碼如下:
<?xmlversion=”1.0″encoding=”utf-8″?>
<Menusvalue=””>
<TopMenuid=”100″value=””ImageUrl=”~/App_Themes/Public/images/PublicImages/topMenu_stl.jpg”NavigateUrl=””>
<TopMenuItemid=”101″value=”ApplyforShortTermLeaseofStateLand”NavigateUrl=”~/TOL/Issuance/AppTOLApplication.aspx”></TopMenuItem>
<TopMenuItemid=”102″value=”ManageMyExistingAccount”NavigateUrl=”~/CaseEnquiry/HomeAuthenticate.aspx?ShowPanel=true”></TopMenuItem>
<TopMenuItemid=”103″value=”ViewMessagesforMyApplications”NavigateUrl=”~/CommonUtility/Email/ListAppCorrespondence.aspx”></TopMenuItem>
</TopMenu>
<TopMenuid=”200″value=””ImageUrl=”~/App_Themes/Public/images/PublicImages/topMenu_aosl.jpg”NavigateUrl=””>
<TopMenuItemid=”202″value=”ManageMyExistingStateTitle”NavigateUrl=””></TopMenuItem>
<TopMenuItemid=”203″value=”ViewMessagesforMyApplications”NavigateUrl=””></TopMenuItem>
</TopMenu>
<TopMenuid=”300″value=””ImageUrl=”~/App_Themes/Public/images/PublicImages/topMenu_lup.jpg”NavigateUrl=””>
<TopMenuItemid=”301″value=”SubmitProposalforLandUse”NavigateUrl=””></TopMenuItem>
</TopMenu>
<TopMenuid=”500″value=””ImageUrl=”~/App_Themes/Public/images/PublicImages/topMenu_logout.jpg”NavigateUrl=”~”Logout.aspx”>
</TopMenu>
</Menus>

html中建立xmldatasource和asp:menu控制元件:
複製程式碼 程式碼如下:
<asp:XmlDataSourceID=”XmlDataSource1″runat=”server”DataFile=”Menusite.xml”></asp:XmlDataSource>
<asp:MenuDataSourceID=”XmlDataSource1″runat=”server”ID=”Menu1″MaximumDynamicDisplayLevels=”4″
Orientation=”Horizontal”StaticDisplayLevels=”2″StaticEnableDefaultPopOutImage=”False”
DynamicEnableDefaultPopOutImage=”false”StaticSubMenuIndent=””ItemWrap=”True”>
<DataBindings>
<asp:MenuItemBindingDataMember=”TopMenu”ImageUrlField=”ImageUrl”TextField=”value”
NavigateUrlField=”NavigateUrl”ValueField=”value”/>
<asp:MenuItemBindingDataMember=”TopMenuItem”NavigateUrlField=”NavigateUrl”TextField=”value”
ValueField=”value”/>
<asp:MenuItemBindingDataMember=”Menus”TextField=”value”ValueField=”value”/>
</DataBindings>
</asp:Menu>

menu的確夠全面,只需要設定屬性就可以滿足你的要求,無需任何程式碼:
MaximumDynamicDisplayLevels:指定在靜態顯示層後應顯示的動態顯示選單節點層數。如果設定為0,子節點將不顯示動態。
Orientation:用於在頁面上設定一個水平選單條。
StaticDisplayLevels:從根選單算起,靜態顯示的選單的層數。上面的小技巧為:xml必須有根節點,但是在選單顯示的時候要顯示第二層的選單項,所以將此
xml的根節點value設為空,然後設定saticDisplayLeves為2,這樣使用者看到的就是靜態顯示的第二層。
StaticEnableDefaultPopOutImage:靜態選單項預設顯示帶有小箭頭,設定為false,將修改這個狀態。
DynamicEnableDefaultPopOutImage:設定動態顯示是否帶有小箭頭。
StaticSubMenuIndent:控制顯示了子選單條目的縮排深度,如果這些選單層級被設定為以靜態模式顯示。
ItemWrap:設定選單項是否可以換行。
通過上面的設定可以輕鬆的製作出想要的menu的樣式。

您可能感興趣的文章:

Asp.Net XML操作基類(修改,刪除,新增,建立)asp.net下建立、查詢、修改帶名稱空間的 XML 檔案的例子ASP.NET中根據XML動態建立使用WEB元件asp.net實現在XmlTextWriter中寫入一個CDATA的方法asp.net簡單生成XML檔案的方法asp.net實現輸出xml的方法ASP.NET XmlDocument類詳解ASP.NET實現TreeView的XML資料來源繫結例項程式碼ASP.NET XML打造網路硬碟原理分析ASP.NET讀取XML檔案4種方法分析asp.net下XML的加密和解密實現方法asp.net建立XML檔案的方法小結