asp.net mvc动态javascript菜单
只需使用普通的jane UL/LI并使用javascript来做视觉效果。以这种方式运行的网上菜单很多。
例子:
<UL>
<% foreach(var item in ViewData["MyMenu"]){%>
<LI><%= item.Title %></LI>
<%} %>
</UL>
以及您如何显示\隐藏子项目? – kusanagi 2010-02-20 14:36:54
那么你可以使用这样的东西http://users.tpg.com.au/j_birch/plugins/superfish/#ab。但是如果你想自己做一个simle
如果您使用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 Menu和Part 2
在asp.net mvc没有控制像
这可能,只是不漂亮。请参阅我的文章中的链接。正如其他人已经回答的那样,如果您可以像无序列表一样在标记中生成菜单,那么引入一些jQuery其他JS框架插件+ CSS就可以做到。大多数不需要服务器端的JavaScript代。我在我的更新答案中添加了一个链接,可能有所帮助。 – 2010-02-19 03:57:00
我讨厌成为mvc纳粹,但你应该完全消除使用mvc时大多数服务器控件的使用。它减损了框架的TDD功能,而且看起来很丑陋。 – 2010-02-22 02:34:10
我的理解是,MVC框架的主要好处是您可以完全控制表示层标记。因此,您可以定制它以匹配几乎所有基于JavaScript的菜单系统。例如,您可以使用jQuery构建很多优秀的系统。
但是如何? :)我知道,没有“控制”,但我需要任何想法\示例 – kusanagi 2010-02-19 03:46:43
如何?你不确定哪部分是/你需要哪个部分的例子?基本概念:通过ASP.net,您可以生成适当的HTML标记(通常是嵌套的无序列表)。通过javascript,您可以操纵该标记来创建您想要的菜单类型。通过CSS来设计它。 Suckerfish(以及所有变量)就是这样的菜单的好例子。 – 2010-02-19 17:58:41
我在我的MVC应用程序使用Telerik Mvc Extensions。他们是免费的,很容易合作。加上皮肤功能http://www.telerik.com/products/aspnet-ajax/visual-style-builder.aspx可以使扩展感觉像任何网站设计的家。扩展名是用JQuery编写的。
你确定他们绝对免费吗? – kusanagi 2010-02-20 14:37:44
他们根据GPL v2.0许可,所以如果您不使用控件赚钱,那么他们可以随意使用。因此,如果您打算将控件打包到您打算销售的产品中,那么您需要获得商业许可。 – dionysus55 2010-02-22 21:22:05
这个问题比较模糊。你能举出你想创建什么类型的动态JavaScript的例子吗? – 2010-02-19 02:43:58
hmmm ....示例...可能是示例菜单UI?像这样的东西 - 显示父节点时,当鼠标移到父节点上,然后动态显示子节点。清楚吗?实际上说我需要菜单,只显示父节点,但子节点只显示鼠标超过父或父节点 – kusanagi 2010-02-19 02:49:54