请问mvc4 如何实现折叠菜单

问题描述

最近要写一个像这样左边的这种折叠菜单,但是尝试了很多种方法,都无法实现二级菜单的显示。view部分代码:@foreach(variteminModel){<liclass="level1">@Html.Raw(item.DirectoryContents)<scripttype="text/javascript">$(".level1").click(function(){varcurrentDirectoryID=item.ListID;sumbit(currentDirectoryID)});</script></li>}

显示了一级菜单,之后click事件:<script>functionsumbit(ListID){varpostData={ListID:ListID};$(".level2").empty();$.ajax({type:'POST',url:"~/ServiceCenter/AList",dataType:'json',data:postData,success:function(data){varHelpList=data.Context;for(vari=0;i<HelpList.length;i++){varlistInfo=HelpList[i];vardirectoryContents=listInfo.DirectoryContents;varLevel=listInfo.Level;varfirstDirectoryIdentity=listInfo.FirstDirectoryIdentity;varfirstDirectoryID=listInfo.FirstDirectoryID;DirectoryList+="<ulclass='level2'>";DirectoryList+="<li><ahref='~/ServiceCenter/HelpCategory/?FirstDirectoryID="+firstDirectoryID+"&FirstDirectoryIdentity="+firstDirectoryIdentity+"'>"+directoryContents+"</a></li>";}DirectoryList+="</ul></li>";$(".level2").append(DirectoryList);}});}</script>

controller的代码:publicActionResultAList(FormCollectionform){intreciveListID=int.Parse(form["ListID"]);List<GamesStore.Model.bm_Help_ADirectory>aContextList=null;aContextList=help.bm_Help_ADirectory.Where(x=>x.ListID==reciveListID).ToList();returnJson(new{DirectoryContents=aContextList});}

显示一级菜单的controllerpublicActionResultHelp(){vardb=help.bm_Help_HelpList.ToList();returnView(db);}

显示了一级菜单,点击无反应,无法显示二级菜单,请大家给看看。或则个demo。谢谢!

解决方案

解决方案二:
使用js写,我以前是用ul套ul做出来过,点击就显示相应的ul所以先把样式搞定吧
解决方案三:
建议先把html和css先搞定了,再考虑输出的问题。
解决方案四:
你先拿到所有数据,把css和html写好,然后把二级菜单那块的数据隐藏,点击一级菜单再显示出对应的二级菜单就可以了
解决方案五:
引用1楼qq6648208281的回复:

使用js写,我以前是用ul套ul做出来过,点击就显示相应的ul所以先把样式搞定吧

样式和js已经搞定,就是显示不出二级菜单。
解决方案六:
引用3楼u011762977的回复:

你先拿到所有数据,把css和html写好,然后把二级菜单那块的数据隐藏,点击一级菜单再显示出对应的二级菜单就可以了

如果是数据库动态加载呢?
解决方案七:
//你这个foreach生成的js也太多了而且只是变量不一样而已@foreach(variteminModel){<liclass="level1"data-listid="@item.ListID">@Html.Raw(item.DirectoryContents)</li>}<scripttype="text/javascript">$(".level1").click(function(){varcurrentDirectoryID=$(this).attr("data-listid");sumbit(currentDirectoryID)});</script>你点击的时候后台断点能断到么
解决方案八:
ul里嵌套li用js做,数据结构先确定了
解决方案九:
引用5楼huang_huang118的回复:

Quote: 引用3楼u011762977的回复:
你先拿到所有数据,把css和html写好,然后把二级菜单那块的数据隐藏,点击一级菜单再显示出对应的二级菜单就可以了

如果是数据库动态加载呢?

无法断点,不知道哪里出了问题,但是你在二级菜单必须获得一级菜单的父id,才可以显示对应的二级菜单内容不是么?
解决方案十:
我只是想说,这跟mvc没有半毛钱的关系折叠菜单无非是对document的操作,顶多会从服务器获取一下折叠菜单的数据可是关于mvc(4)有任何关系?
解决方案十一:
看上去你的错误是把razor即服务端代码和客户端脚本混合写在一起了。查看最终生成的脚本与你期望的脚本是否一致就知道了,要知道服务端的代码是优先执行的,然后再由浏览器来解析html和js输出到浏览器中。服务端只管做服务端应该做的,你这里的菜单数据源应该是在服务端直接生成好的,类似json之类的数据源,再放到cshtml页面里,由js脚本来解析json,生成菜单的脚本
解决方案十二:
http://www.ztree.me/v3/main.php#_zTreeInfo

时间: 2024-07-30 10:25:05

请问mvc4 如何实现折叠菜单的相关文章

javaswing 问题:请问swingset3中左面的折叠菜单是怎么实现的?

问题描述 请问swingset3中左面的折叠菜单是怎么实现的?swingset3的文件我有,但是看不太明白,有人帮忙解释下吗 解决方案 swingx org.jdesktop.swingx.JXCollapsiblePane

JSON无限折叠菜单编写

   最近看了一篇关于JSON无限折叠菜单的文章 感觉写的不错,也研究了下代码,所以用自己编码方式也做了个demo 其实这样的菜单项在我们网站上或者项目导航菜单项很常见的一种效果,特别是在一些电子商务网上上左侧有分类是很常见的 或者说导航菜单有下拉效果也是很常见的,但是他们都是做死的 也就是页面上代码直接写死的 然后实现那种下拉效果 而今天我们是通过JSON格式来自动生成的,或者可以说 要做这种折叠菜单效果 只需要开发人员提供我们前端开发这种JSON格式或者我们前端可以定这样的格式也就ok了 其

在Dreamweaver中轻松实现滑动折叠菜单

dreamweaver|菜单 本文选自4u2v工作室编写的<Dreamweaver网页设计与制作100例>(人民邮电出版社出版,ISBN: 7115142394 ).未经著作权所有者书面授权许可,禁止转载本文. 购买地址:点击访问 在网页展示平面有限的情况下,折叠菜单是一个很不错的选择.这种菜单在一般情况下是折叠起来的,只有当浏览者将鼠标移动到菜单上时,菜单才会滑动展开. 效果说明 当鼠标不在菜单上时,菜单处于折叠状态,看起来是很普通的一个菜单栏,如图 18-1 所示.当鼠标移动到菜单栏上时,

全兼容可高亮二级缓冲折叠菜单

最近在项目中制作的一个菜单实例整理出来,和大家共享一下. 在后台或OA系统中最常用到的布局往往是一个全屏布局,一般都是上中下三行两列布局,页头.页脚.左侧菜单加一个右侧ifame框架页.所以那种带折叠的二级菜单是会经常使用到的,本例便是实现这样一种比较通用的全兼容可高亮二级缓冲折叠菜单. 特点: 1.全兼容,浏览器测试:IE5.5.IE6.IE7.IE8.FF3.0.谷歌.Safari 4.0.Opera9.0. 2.Html结构优雅简洁,无多余标签,利于程序循环输出. 3.样式与结构分离,你可

折叠菜单用dreamweaver轻松制作

用dreamweaver来制作折叠菜单其实很方便,不管你懂不懂js.css都可以快速方便的点几下就可以制作出漂亮的折叠菜单效果,下面我们来看看教程吧. 新建一个文件,在菜单工具栏选择,插入记录-布局对象-Spry折叠菜单如下图: 运行一下看看吧,一个超漂亮的效果哦.

js一般方法改写成面向对象方法的无限级折叠菜单示例代码

本例是应用别人的例子,原来那位老兄是用一般方法写成的无限级折叠菜单,在此先感谢他!后来我就通过了一些简化修改,将原来的例子改成了面向对象的方式,实例中的展开与闭合的小图标可以自己重新添加,从而更好的查看效果. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&q

js实现精美的银灰色竖排折叠菜单

  本文实例讲述了js实现精美的银灰色竖排折叠菜单.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

JSON无限折叠菜单编写实例

 这篇文章主要介绍了JSON无限折叠菜单编写实例,有需要的朋友可以参考一下 最近看了一篇关于JSON无限折叠菜单的文章 感觉写的不错,也研究了下代码,所以用自己编码方式也做了个demo 其实这样的菜单项在我们网站上或者项目导航菜单项很常见的一种效果,特别是在一些电子商务网上上左侧有分类是很常见的 或者说导航菜单有下拉效果也是很常见的,但是他们都是做死的 也就是页面上代码直接写死的 然后实现那种下拉效果 而今天我们是通过JSON格式来自动生成的,或者可以说 要做这种折叠菜单效果 只需要开发人员提供

安卓开发-请问安卓如何实现抽屉菜单从底部上滑出现。

问题描述 请问安卓如何实现抽屉菜单从底部上滑出现. 请问安卓如何实现抽屉菜单从底部上滑出现.就类似左侧抽屉菜单那种,只不过换在了底部,最近项目需要,请问大家如何实现这类效果?感谢. 解决方案 popwindow即可,参考http://www.tuicool.com/articles/beABNjq 解决方案二: http://blog.csdn.net/crazy1235/article/details/50771703 bottomsheet 解决方案三: 使用popwindow 用代码控制p