ホームページ >バックエンド開発 >XML/RSS チュートリアル >データソースとしてxmlを使用し、asp:Menuクラスと連携してメニュー項目を自由に展開できます
まず、次の内容を含む 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="国内新闻" description=""/> <menuItem url="~/News.aspx" title="国际新闻" description=""/> </menuItem> </menu>
次に、ページ上にメニュー コントロールをドラッグ アンド ドロップし、XmlDataSource1 の ID を持つ XmlDataSource コントロールをドラッグ アンド ドロップして、メニューの DataSourceID を XmlDataSource1 に設定します。
DataFile="~/Menu.xml" となるように XmlDataSource コントロールを構成します。
この時点で、メニュー コントロールのデータをバインドし、XML ファイルからフィルターされたデータを表示する方法をメニュー コントロールに指示します。メニュー コントロールを選択し、ポップアップ ダイアログ ボックスのプロパティ ウィンドウで DataBindings を選択し、左上隅のリストで menuItem を選択し、追加ボタンをクリックして左下のリストに menuItem を追加し、次に、メニュー アイテムを選択します。このリスト、これが右側です。リストにはバインドするプロパティが表示されるため、NavigateUrlField="url" TextField="title" となります。 OKボタンを押すとデザイン画面に戻ります。この時点で「ホーム」と「ニュース」の2つのメニュー項目が表示されます。設計 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>