0

我想向基于 asp.net 网络表单的网站添加大型菜单功能。

我喜欢这个超级菜单示例

如果有人可以指向显示 asp.net 应用程序的大型菜单的教程或指南,我将不胜感激。

我想知道大型菜单的设计注意事项,例如数据库结构编码技巧等。

我在网上寻找,但找不到与 asp.net 相关的太多内容。可以找到基于 PHP 的 CMS 的大型菜单插件,例如 WordPress 或其他 CMS。

对此的帮助表示感谢。

我需要这个来学习曲线,现在这在网络上变得很普遍,其他基于 jquery 且与 asp.net 兼容的 Mega 菜单将是一个很好的资产。

我现在有一个简单的菜单结构。

示例代码

<ul>
<li><a href="../en/Page.aspx?pageID=1">Home</a></li>
<li:<a href="../en/Page.aspx?pageID=2">About Us</a></li>
<li><a href="../en/Page.aspx?pageID=3">Projects</a></li>
  <ul >
    <li><a href="../en/Project.aspx?pageID=3&PrjID=1">Project One</a></li>
    <li><a href="../en/Page.aspx?pageID=4&PrjID=2">Project Two</a></li>
    <li><a href="../en/Page.aspx?pageID=5&PrjID=3">Project Three</a></li>
  </ul>
<li><a href="../en/news.aspx?pageID=10">Media</a></li>
  <ul >
    <li><a href="../en/News.aspx?pageID=3&NewsID=1">News </a></li>
    <li><a href="../en/News.aspx?pageID=5&PressIDID=3">Press Releases</a></li>
  </ul>
<li><a href="../en/contact.aspx?pageID=6"> Contact Us</li>
</ul>

我需要将上面的简单下拉菜单更改为超级菜单,例如我需要将项目子菜单显示为下拉菜单,并在将鼠标悬停在项目一/项目二/项目三上时在下拉菜单中显示以下内容

项目形象

项目名称

项目描述

我可以使用 ajax 调用或在页面下载上发送整个信息然后显示它吗?

超级菜单:我需要类似于这个例子的东西

4

2 回答 2

1

您可能需要结合使用asp:HyperLinkasp:Repeater

如果您有固定数量的菜单项(每个用户将看到 10 个链接等),那么您可以asp:Hyperlink根据用户使用并调整后面代码中的链接。

<asp:HyperLink ID="_link1" Text="Home" runat="server"></asp:HyperLink>

接着

_link1.NavigateUrl = "~/en/Page.aspx?pageID=1";

如果您要在菜单中拥有动态数量的项目——比如它取决于用户有多少项目,您将需要使用中继器。一个例子可能是:

<ul>
<li><a href="../en/Page.aspx?pageID=1">Home</a></li>
<li><a href="../en/Page.aspx?pageID=2">About Us</a></li>
<li><a href="../en/Page.aspx?pageID=3">Projects</a>
    <asp:Repeater ID="_repeater" runat="server">
        <HeaderTemplate>
            <ul>
        </HeaderTemplate>
        <ItemTemplate>
            <li><a href="<%# Eval("link") %>"><%# Eval("linkName") %></a></li>
        </ItemTemplate>
        <FooterTemplate>
            </ul>
        </FooterTemplate>
    </asp:Repeater>
</li>
<li><a href="../en/news.aspx?pageID=10">Media</a>
    <ul>
        <li><asp:HyperLink ID="_topNews" Text="News" runat="server"></asp:HyperLink></li>
        <li><a href="../en/News.aspx?pageID=5&PressIDID=3">Press Releases</a></li>
    </ul>
</li>
<li><a href="../en/contact.aspx?pageID=6"> Contact Us</li>
</ul>

假设中继器的数据源具有“link”和“linkName”属性。

_repeater.DataSource = links; //this is your link source from DB.
_repeater.DataBind();
于 2013-09-19T13:06:35.760 回答
0

Try This, for css mega menu tutorial: 1) http://designmodo.com/demo/css3megamenu/ 2) http://designm.ag/inspiration/mega-menus/

于 2013-09-19T12:57:32.663 回答