独上高楼网站
  •    你所在位置:首页 VS.netXMLXML经验〉使用xml作为数据源,配合asp:Menu类自由扩展菜单项
  • 使用xml作为数据源,配合asp:Menu类自由扩展菜单项
  • 作者:佚名  文章来源:http://www.knowsky.com/  发布日期:2007-09-14  浏览次数:617
  • 打印这篇文章
  • 先新建一个名为menuxml文件,内容如下:

    ?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控件,idXmlDataSource1,将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>

     

  • 打印这篇文章
  • 与本文主题相关的文章
  • 返回首页