easyui+mvc+accordion菜单栏加载

来源:互联网 发布:php面试基础知识 编辑:程序博客网 时间:2024/06/06 03:46


<title>@ViewBag.Title</title>
<link href="~/CSS/themes/icon.css" rel="stylesheet" />
<link href="~/CSS/themes/default/easyui.css" rel="stylesheet" />
<script src="~/Scripts/jquery.min.js"></script>
<script src="~/Scripts/jquery.easyui.min.js"></script>
<script type="text/javascript">
    $.ajax(
    {
        async: false,
        type: 'post',
        url: '/Menu/Select',
        success: function (json) {
            $(document).ready(function () {
                for (i = 0; i < json.total; i++) {
                    $('#menu').accordion('add', {
                        title: json.rows[i].Title,
                        iconCls:json.rows[i].IconCls,
                        context: json.rows[i].ID,
                        selected: false,
                    });
                }
            });
        },
    });
    $(document).ready(function () {
        $('#menu').accordion({
            onSelect: function (title, index) {
                $.ajax(
                       {
                           async: false,
                           data: { Title: title, Index: index },
                           type: 'post',
                           url: '/Menu/Selectsub',
                           success: function (json) {
                               $(document).ready(function () {
                                   //初始化左边菜单栏(清楚第一次加载之后的数据)
                                   var pp = $('#menu').accordion('getSelected');
                                   $(pp).html("");
                                   for (i = 0; i < json.total; i++) {
                                       var menulist = "";
                                       menulist += '<ul>';
                                      menulist += '<div><a href="/' + json.rows[i].Url + '">' + json.rows[i].Title + '</a></div> ';
                                       menulist += '</ul>';
                                       var pp = $('#menu').accordion('getSelected');
                                           pp.append(menulist);
                                       }
                               });
                           },
                       });
            }
        });
    });
</script>
<div id="cc" class="easyui-layout" style="width:100%;min-height:800px;">
    <div data-options="region:'north',title:'XXX专用OA系统',split:true" style="height:100px;"></div>
    <div data-options="region:'east',iconCls:'icon-reload',title:'East',split:true" style="width:100px;"></div>
    <div data-options="region:'west',title:'导航栏',split:true" style="width:100px;">
        <div id="menu" class="easyui-accordion" style="width:100px;height:650px;"></div>
        <div id="tabs" class="easyui-tabs" fit="true" border="false"></div>
        </div>
    <div data-options="region:'center',title:'center title'" style="padding:5px;background:#eee;">@RenderBody()</div>

</div>



后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using 沃德OA管理系统.Models;


namespace 沃德OA管理系统.Controllers
{
    public class MenuController :BaseController
    {
        // GET: Menu
        public ActionResult Select(MenuRequest paraRequest)
        {
            Guid parentid = new Guid("dd2d47f0-9829-4e31-9367-7d6c7fe93d83");
            var query = from c in db.Menus
                        where c.ParentID == parentid
                        select new
                        {
                            c.Title,
                            c.Url,
                            c.ParentID,
                            c.IconCls,
                            c.ID,
                            c.UpdateTime
                        };
            return get(query, paraRequest, t => t.UpdateTime, true);
        }
        public ActionResult Selectsub(MenuRequest paraRequest)
        {
            String parenttile = Request.Form["Title"];
            var parentid = (from l in db.Menus where l.Title == parenttile select l).ToList();
            Menu vid = parentid[0];
            Guid ID = vid.ID;
            var query = from c in db.Menus
                        where c.ParentID == ID
                        select new
                        {
                            c.Title,
                            c.Url,
                            c.ParentID,
                            c.IconCls,
                            c.ID,
                            c.UpdateTime
                        };
            return get(query, paraRequest, t => t.UpdateTime, true);
        }
    }
}


表设计

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using static 沃德OA管理系统.Controllers.BaseController;


namespace 沃德OA管理系统.Models
{
    public class Menu:BaseModel
    {
        /// <summary>
        /// 父菜单
        /// </summary>
        public Guid ParentID { get; set; }
        /// <summary>
        /// 菜单名称
        /// </summary>
        public  string  Title { get; set; }
        /// <summary>
        /// 菜单地址
        /// </summary>
        public string Url { get; set; }
        /// <summary>
        /// 图标
        /// </summary>
        public string IconCls { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }
    }
    public class MenuRequest : PagingRequest
    {
        public string Title { get; set; }
    }
}

0 0