来自Json或XML数据的Asp.Net动态菜单

时间:2011-12-08 19:36:54

标签: asp.net json drop-down-menu webmethod

有没有办法使用JSON对象或XML数据为Asp.Net Web应用程序获取动态菜单?

2 个答案:

答案 0 :(得分:2)

是的,为什么不呢。将asp.net菜单的数据源设置为来自源的xml。

让我们分几步创建这个菜单。

  1. 在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>

  2. 从工具箱的“数据”标签中将XMLDataSource控件添加到页面中。

  3. 将DataSourceID链接为Menu控件的XmlDataSource1,将menu.xml链接为XmlDataSource控件的DataFile并绑定菜单控件。

  4. 菜单控制的代码是

    <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>

并运行....