0

我正在构建我的第一个 asp.net 应用程序,我插入了菜单控件(水平)并将其绑定到我制作的 XML 文件。不幸的是,在呈现页面时,菜单显示名为 SubMenu、SubMenu、SubMenu 的子项,并且我的文本属性未应用,链接也始终指向 #。我在网上查看了其他人的代码,我无法发现差异。代码:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="OuterShell.master.cs" Inherits="OuterShell" %>

<!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></title>
<link href="~/Styles/style1.css" rel="Stylesheet" type="text/css" />

<asp:ContentPlaceHolder id="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>

<form id="form1" runat="server">
<asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource1" 
    Orientation="Horizontal" BackColor="#F7F6F3" DynamicHorizontalOffset="2" 
    Font-Names="Verdana" Font-Size="0.8em" ForeColor="#7C6F57" 
    StaticSubMenuIndent="10px">
    <DynamicHoverStyle BackColor="#7C6F57" ForeColor="White" />
    <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
    <DynamicMenuStyle BackColor="#F7F6F3" />
    <DynamicSelectedStyle BackColor="#5D7B9D" />
    <DynamicItemTemplate>
        <%# Eval("Text") %>
    </DynamicItemTemplate>
    <StaticHoverStyle BackColor="#7C6F57" ForeColor="White" />
    <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
    <StaticSelectedStyle BackColor="#5D7B9D" />
</asp:Menu>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
    DataFile="~/App_Data/menu_h.xml" EnableCaching="False"></asp:XmlDataSource>

<div>
    <asp:ContentPlaceHolder id="MainContent" runat="server">
    </asp:ContentPlaceHolder>
</div>
</form>


</body>
</html>

XML 代码:

<Main Text="Main Menu" url="~/Main.aspx"> 
<SubMenu Text="Start Configuring" url="~/Config1.aspx"></SubMenu>
<SubMenu Text="About Us" url="~/About.aspx"></SubMenu>
<SubMenu Text="Contact Us" url="~/Contact.aspx"></SubMenu>
</Main>

任何帮助表示赞赏。谢谢。

4

2 回答 2

0

我想到了。将菜单绑定到 XML 文件后,您必须转到:菜单属性->数据绑定(单击集合)->选择需要读取数据的菜单项,点击添加,然后选择添加的项目并编辑其属性,如用于读取 XML 文件中正确标签的文本和 URL。就是这样,数据现在被完美读取了。

这是一个图片解释: http: //shawpnendu.blogspot.ca/2010/04/how-to-bind-menu-control-with-xml-file.html

干杯,L

于 2012-11-30T17:10:12.863 回答
0

修改您的数据绑定代码

<%# Eval("Text") %>

<%# XPath("@Text") %>

看看它是否有帮助。

于 2012-11-30T03:22:36.010 回答