有没有办法使用JSON对象或XML数据为Asp.Net Web应用程序获取动态菜单?
答案 0 :(得分:2)
是的,为什么不呢。将asp.net菜单的数据源设置为来自源的xml。
让我们分几步创建这个菜单。
在Web应用程序中添加名为menu.xml的XML文件。 Xml代码如下所示
<?xml version="1.0" encoding="utf-8" ?>
<HomePage>
<Menu text="Issue1" url="Issue1.aspx">
<SubMenu text="Concept1" url="Concept1.aspx"></SubMenu>
<SubMenu text="Concept2" url="Concept2.aspx"></SubMenu>
<SubMenu text="Concept3" url="Concept3.aspx"></SubMenu>
</Menu>
<Menu text="Issue2" url="Issue2.aspx">
<SubMenu text="Problem1" url="Problem1.aspx"></SubMenu>
<SubMenu text="Problem2" url="Problem2.aspx"></SubMenu>
<SubMenu text="Problem3" url="Problem3.aspx"></SubMenu>
</Menu>
</HomePage>
从工具箱的“数据”标签中将XMLDataSource控件添加到页面中。
将DataSourceID链接为Menu控件的XmlDataSource1,将menu.xml链接为XmlDataSource控件的DataFile并绑定菜单控件。
菜单控制的代码是
<asp:Menu ID="dymenu1" runat="server" DataSourceID="xmlsource1" Orientation="Horizontal">
<DynamicMenuStyle BackColor="#228B22" />
<StaticSelectedStyle BackColor="#FFBB77" />
<DynamicSelectedStyle BackColor="#FFAA99" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<StaticHoverStyle BackColor="#abcdaa" Font-Bold="False" ForeColor="White" />
</asp:Menu>
XmlDataSource的代码是
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/menu.xml"></asp:XmlDataSource>
这里我使用的是XML文件,您也可以使用动态xml而不是静态xml。
答案 1 :(得分:1)
在ASPX正文标记中写下以下内容
<asp:Menu ID="menu1" runat="server" DataSourceID="source1" Orientation="Horizontal">
<DynamicMenuStyle BackColor="#228B22" />
<StaticSelectedStyle BackColor="#FFBB77" />
<DynamicSelectedStyle BackColor="#FFAA99" />
<DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" />
<StaticHoverStyle BackColor="#abcdaa" Font-Bold="False" ForeColor="White" />
</asp:Menu>
<asp:XmlDataSource ID="source1" runat="server" DataFile="~/menu.xml"></asp:XmlDataSource>
并运行....