2010-02-19 332 views
0

是允许从代码创建动态JavaScript菜单的任何库?asp.net mvc动态javascript菜单

+0

这个问题比较模糊。你能举出你想创建什么类型的动态JavaScript的例子吗? – 2010-02-19 02:43:58

+0

hmmm ....示例...可能是示例菜单UI?像这样的东西 - 显示父节点时,当鼠标移到父节点上,然后动态显示子节点。清楚吗?实际上说我需要菜单,只显示父节点,但子节点只显示鼠标超过父或父节点 – kusanagi 2010-02-19 02:49:54

回答

1

只需使用普通的jane UL/LI并使用javascript来做视觉效果。以这种方式运行的网上菜单很多。

例子:

<UL> 
<% foreach(var item in ViewData["MyMenu"]){%> 
<LI><%= item.Title %></LI> 
<%} %> 
</UL> 
+0

以及您如何显示\隐藏子项目? – kusanagi 2010-02-20 14:36:54

+0

那么你可以使用这样的东西http://users.tpg.com.au/j_birch/plugins/superfish/#ab。但是如果你想自己做一个simle

  • <%= item.Title%>
  • 然后你会为那个show menu命令编写javascript。它应该看起来像这个函数ShowSubMenu(){$(“#MySubMenuID”)。show();}。如果你不知道我在说什么,找到一个预先构建的基于jQuery的菜单系统并使用它,那么互联网上就有很多。也看到这个网站http://plugins.jquery.com/project/jQuery-Horizo​​ntal-Menu – 2010-02-22 02:31:55

    2

    如果您使用ASP控件如<ASP:MENU>,则下拉效果由服务器端的控件进行javascript编辑。你应该也可以在ASP.NET MVC中使用它。

    参见Leveraging Existing ASP.NET Features in ASP.NET MVC

    另一个好例子是web窗体验证,所述client-side validation脚本都在服务器端动态地生成。

    UPDATE
    这可能是你在找什么:
    ASP.NET and JQuery MVC MenuPart 2

    +0

    在asp.net mvc没有控制像,没有webforms我对不对?所以这是一个问题,我猜我需要编写我自己的菜单 – kusanagi 2010-02-19 03:31:47

    +1

    这可能,只是不漂亮。请参阅我的文章中的链接。正如其他人已经回答的那样,如果您可以像无序列表一样在标记中生成菜单,那么引入一些jQuery其他JS框架插件+ CSS就可以做到。大多数不需要服务器端的JavaScript代。我在我的更新答案中添加了一个链接,可能有所帮助。 – 2010-02-19 03:57:00

    +0

    我讨厌成为mvc纳粹,但你应该完全消除使用mvc时大多数服务器控件的使用。它减损了框架的TDD功能,而且看起来很丑陋。 – 2010-02-22 02:34:10

    0

    我的理解是,MVC框架的主要好处是您可以完全控制表示层标记。因此,您可以定制它以匹配几乎所有基于JavaScript的菜单系统。例如,您可以使用jQuery构建很多优秀的系统。

    +1

    但是如何? :)我知道,没有“控制”,但我需要任何想法\示例 – kusanagi 2010-02-19 03:46:43

    +0

    如何?你不确定哪部分是/你需要哪个部分的例子?基本概念:通过ASP.net,您可以生成适当的HTML标记(通常是嵌套的无序列表)。通过javascript,您可以操纵该标记来创建您想要的菜单类型。通过CSS来设计它。 Suckerfish(以及所有变量)就是这样的菜单的好例子。 – 2010-02-19 17:58:41

    0

    我在我的MVC应用程序使用Telerik Mvc Extensions。他们是免费的,很容易合作。加上皮肤功能http://www.telerik.com/products/aspnet-ajax/visual-style-builder.aspx可以使扩展感觉像任何网站设计的家。扩展名是用JQuery编写的。

    +0

    你确定他们绝对免费吗? – kusanagi 2010-02-20 14:37:44

    +0

    他们根据GPL v2.0许可,所以如果您不使用控件赚钱,那么他们可以随意使用。因此,如果您打算将控件打包到您打算销售的产品中,那么您需要获得商业许可。 – dionysus55 2010-02-22 21:22:05