先新建一个名为menu的xml文件,内容如下: ?xml version=1.0 encoding=utf-8 ?menu menuItem url=~/Default.aspx title=首页 description=/ menuItem url=~/News.aspx title=新闻 description= menuItem url=~/News.aspx title=国内新闻
<?xml version="1.0" encoding="utf-8" ?> <menu> <menuItem url="~/Default.aspx" title="首页" description=""/> <menuItem url="~/News.aspx" title="新闻" description=""> <menuItem url="~/News.aspx" title="国内新闻" description=""/> <menuItem url="~/News.aspx" title="国际新闻" description=""/> </menuItem> </menu>
然后在页面上拖放一个menu控件,并拖放一个XmlDataSource控件,id为XmlDataSource1,将menu的 DataSourceID设置为XmlDataSource1。
配置XmlDataSource控件,使DataFile="~/Menu.xml" XPath="menu/menuItem",
这里采用xpath来选取数据,即将menuItem的数据筛选出来。
此时,再绑定menu控件的数据,告诉menu控件该怎么显示从xml文件筛选出来的数据。选中menu控件,在属性窗口选取DataBindings,在弹出的对话框里,在左上角的列表中选中menuItem,单击添加按钮将menuItem添加到左下的列表中,再在此列表中选择menuItem,此是右边的列表将显示要绑定的属性,使NavigateUrlField="url" TextField="title"。按确定按钮返回设计界面,此时就会显示出"首页"和"新闻"两个菜单项。
设计html代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CoAffiliate._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource1" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False"> <DataBindings> <asp:MenuItemBinding DataMember="menuItem" NavigateUrlField="url" TextField="title" /> </DataBindings> </asp:Menu> <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Menu.xml" XPath="menu/menuItem"> </asp:XmlDataSource> </div> </form> </body> </html>
以上就是使用xml作为数据源,配合asp:Menu类自由扩展菜单项的内容,更多相关内容请关注PHP中文网(www.php.cn)!