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

來源:互聯網
上載者:User

以前一直以為菜單都是通過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的樣式。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.