4、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——后台管理界面

这一章节比较简单,我就直接贴代码了,后台管理登陆界面如下:

对应的控制器HomeController.cs,代码如下:

using YKT.Model;
using YKT.Common;
using YKT.BLL;
using YKT.Common.HtmlHelpers;
using YKT.Common.Functions;
using Microsoft.Practices.Unity;
using YKT.IBLL;

namespace YKT.Controllers
{
    public class HomeController : BaseController
    {
        #region 通用部分-实例化业务逻辑对象

        ValidationErrors validationErrors = new ValidationErrors();
        HomeService m_BLL = new HomeService();
        ISysMenuRoleFuncService _menuRoleFunService = new SysMenuRoleFuncService();

        #endregion

        public ActionResult Index()
        {
            Account account = GetCurrentAccount();
            if (account == null)
            {
                return RedirectToAction("Index", "Account");
            }
            else
            {
                ViewData["PersonName"] = account.UID;

                ViewData["Menu"] = m_BLL.GetMenuByAccount(ref account);// 获取菜单
            }

            return View();
        }

        //[SupportFilter]
        public ActionResult Main()
        {
            SysInfo model = m_BLL.GetSysInfoModel() as SysInfo;

            return View(model);
        }

        /// <summary>
        /// 根据父节点获取数据字典,绑定二级下拉框的时候使用
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult GetSysFieldByParent(string id, string parentid, string value)
        {
            if (string.IsNullOrWhiteSpace(value))
            {
                return null;
            }
            ISysFieldHander baseDDL = new SysFieldHander();
            return Json(new SelectList(baseDDL.GetSysFieldByParent(id, parentid, value), "MyTexts", "MyTexts"), JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 获取列表中的按钮导航
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult GetToolbar(int id)
        {
            Account account = GetCurrentAccount();
            if (account == null)
            {
                return Content(" <script type=‘text/javascript‘> window.top.location=‘Account‘; </script>");
            }

            List<SMFUNCTB> sysOperations = _menuRoleFunService.GetByRefSysMenuIdAndSysRoleId(id, account.RoleIds);
            List<toolbar> toolbars = new List<toolbar>();
            foreach (SMFUNCTB item in sysOperations)
            {
                toolbars.Add(new toolbar() { handler = item.EVENT_NAME, iconCls = item.ICONIC, text = item.FUNC_NAME });
            }
            return Json(toolbars, JsonRequestBehavior.AllowGet);

        }
    }
}

这里我继承了一个基控制器BaseController如下:

/*Company:EMPEROR*/
/*Author:Zouqj*/
/*Date:2014-02-20*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.EnterpriseServices;
using YKT.Model;
using System.Web.Mvc;
using System.Configuration;
using System.Web;
using System.IO.Compression;
using YKT.Common;

namespace YKT.Controllers
{
    [SupportFilter]//此处如果去掉注释,则全部继承BaseController的Controller,都将执行SupportFilter过滤
    public class BaseController : Controller
    {
        /// <summary>
        /// 是否添加选择行
        /// </summary>
        public bool IsAddSelect = true;
        /// <summary>
        /// //选择行的文本
        /// </summary>
        public string DefaultSelectText = "——请选择——";
        /// <summary>
        /// //默认选择的值
        /// </summary>
        public string DefaultSelectValue = "";
        /// <summary>
        /// 默认选择的整数值
        /// </summary>
        public int? DefaultIntValue = -1;

        /// <summary>
        /// 是否是Oracle数据库
        /// </summary>
        public bool IsOracle = ConfigurationManager.AppSettings["DataBase"] == "Oracle" ? true : false;

        /// <summary>
        /// 根据序列名称获取oracle序列
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public Decimal GetProblemXH(string name)
        {
            Decimal maxXh = 90000000;
            using (YKTEntities entity = new YKTEntities())
            {
                String strDBType = ((System.Data.EntityClient.EntityConnection)(entity.Connection)).StoreConnection.ToString();
                if (entity != null)
                {
                    string strSeqIDQuerySQL;
                    if (strDBType == "System.Data.SqlClient.SqlConnection")
                    {
                        strSeqIDQuerySQL = "insert into dual(NewDate) values(GETDATE()) select @@identity";
                    }
                    else
                    {
                        strSeqIDQuerySQL = "select " + name + ".nextval from dual";
                    }
                    Decimal decSeqID = entity.ExecuteStoreQuery<Decimal>(strSeqIDQuerySQL).First();
                    maxXh = decSeqID;
                }
            }
            return maxXh;
        }

        /// <summary>
        /// 获取当前登陆人的名称
        /// </summary>
        /// <returns></returns>
        public string GetCurrentPerson()
        {
            Account account = GetCurrentAccount();
            if (account != null && !string.IsNullOrWhiteSpace(account.UID))
            {
                return account.UID;
            }
            return string.Empty;
        }
        /// <summary>
        /// 获取当前登陆人的账户信息
        /// </summary>
        /// <returns>账户信息</returns>
        public Account GetCurrentAccount()
        {
            if (Session["account"] != null)
            {
                Account account = (Account)Session["account"];
                return account;
            }

            return null;
        }

        public BaseController()
        { }

    }

}

View如下:

@{
    ViewBag.Title = "一卡通企业平台";
    Layout =null;
}
<!DOCTYPE html>
<html>
<head id="Head1">
    <title>一卡通企业平台</title>
    <base target="_self"/>
    <link href=‘@Url.Content("~/Res/easyui/themes/default/easyui.css")‘ rel="stylesheet" type="text/css" />
    <link href=‘@Url.Content("~/Content/Default.css")‘ rel="stylesheet" type="text/css" />
    <link href=‘@Url.Content("~/Res/easyui/themes/icon.css")‘ rel="stylesheet" type="text/css" />
    <script src=‘@Url.Content("~/Scripts/jquery-1.8.0.min.js")‘ type="text/javascript"></script>
    <script src=‘@Url.Content("~/Res/easyui/jquery.easyui.min.js")‘ type="text/javascript"></script>
    <script src=‘@Url.Content("~/Res/easyui/locale/easyui-lang-zh_CN.js")‘ type="text/javascript"></script>
   <script type="text/javascript">
       function closeErrors() {
           return true;
       }
       window.onerror = closeErrors;
           $(function () {
               //var w = $(document).width();
               //$("#banner").width(w); //设置bannar的宽度
               tabCloseEven();
               addTab("我的工作台", "Home/Main", "xiongdi", false);
               $(‘ul li a‘).click(function () {
                   var tabTitle = $(this).text();
                   var url = $(this).attr("rel"); //获取地址
                   var id = $(this).attr("id"); //获取id
                   var icon = $(this).attr("icon"); //获取图标
                   if (icon == "") {
                       icon = "icon-save";
                   }
                   addTab(tabTitle, url, icon, true, id);

               });
               $(‘#loginOut‘).click(function () {

                   $.messager.confirm(‘系统提示‘, ‘您确定要退出本次登录吗?‘, function (r) {

                       if (r) {
                           location.href = ‘/Account/LogOff‘;
                       }
                   });
               });
               $(‘#ChangePassword‘).click(function () {
                   showPwdWindow("修改密码", "Account/ChangePassword");
               });

           })

           function addTab(subtitle, url, icon, closable, id) {

               if (!$(‘#tabs‘).tabs(‘exists‘, subtitle)) {
                   $(‘#tabs‘).tabs(‘add‘, {
                       title: subtitle,
                       content: createFrame(url, id),
                       closable: closable
                    , icon: icon
                   });
               } else {
                   $(‘#tabs‘).tabs(‘select‘, subtitle);

               }
               tabClose();
           }

           function createFrame(url, id) {
               var s = ‘<iframe id="‘ + id + ‘" scrolling="no" frameborder="0"  src="‘ + url + ‘" style="width:100%;height:99%; "></iframe>‘;
               return s;
           }
           function tabClose() {
               /*双击关闭TAB选项卡*/
               $(".tabs-inner").dblclick(function () {
                   var subtitle = $(this).children(".tabs-closable").text();
                   $(‘#tabs‘).tabs(‘close‘, subtitle);
               })
               /*为选项卡绑定右键*/
               $(".tabs-inner").bind(‘contextmenu‘, function (e) {
                   $(‘#mm‘).menu(‘show‘, {
                       left: e.pageX,
                       top: e.pageY
                   });

                   var subtitle = $(this).children(".tabs-closable").text();

                   $(‘#mm‘).data("currtab", subtitle);
                   $(‘#tabs‘).tabs(‘select‘, subtitle);
                   return false;
               });
           }
           //绑定右键菜单事件
           function tabCloseEven() {
               //刷新
               $(‘#mm-tabupdate‘).click(function () {
                   var currTab = $(‘#tabs‘).tabs(‘getSelected‘);
                   var url = $(currTab.panel(‘options‘).content).attr(‘src‘);
                   var id = $(currTab.panel(‘options‘).content).attr(‘id‘); ; //获取id

                   $(‘#tabs‘).tabs(‘update‘, {
                       tab: currTab,
                       options: {
                           content: createFrame(url, id)
                       }
                   })
               })
               //关闭
               $(‘#mm-tabclose‘).click(function () {
                   var currtab_title = $(‘#mm‘).data("currtab");
                   $(‘#tabs‘).tabs(‘close‘, currtab_title);
               })
               //在新窗口打开该标签
               $(‘#tab_menu-openFrame‘).click(function () {
                   var url = $(".tabs-panels .panel").eq($(‘.tabs-selected‘).index()).find("iframe").attr("src");
                   window.open(url);
               });
               //全部关闭
               $(‘#tab_menu-tabcloseall‘).click(function () {
                   $(‘.tabs-inner span‘).each(function (i, n) {
                       if ($(this).parent().next().is(‘.tabs-close‘)) {
                           var t = $(n).text();
                           $(‘#tabs‘).tabs(‘close‘, t);
                       }
                   });
                   //open menu
                   $(".layout-button-right").trigger("click");
               });
               //关闭除当前之外的TAB
               $(‘#tab_menu-tabcloseother‘).click(function () {
                   var currtab_title = $(‘.tabs-selected .tabs-inner span‘).text();
                   $(‘.tabs-inner span‘).each(function (i, n) {
                       if ($(this).parent().next().is(‘.tabs-close‘)) {
                           var t = $(n).text();
                           if (t != currtab_title)
                               $(‘#tabs‘).tabs(‘close‘, t);
                       }
                   });
               });
               //关闭当前右侧的TAB
               $(‘#tab_menu-tabcloseright‘).click(function () {
                   var nextall = $(‘.tabs-selected‘).nextAll();
                   if (nextall.length == 0) {
                       $.messager.alert(‘提示‘, ‘前面没有了!‘, ‘warning‘);
                       return false;
                   }
                   nextall.each(function (i, n) {
                       if ($(‘a.tabs-close‘, $(n)).length > 0) {
                           var t = $(‘a:eq(0) span‘, $(n)).text();
                           $(‘#tabs‘).tabs(‘close‘, t);
                       }
                   });
                   return false;
               });
               //关闭当前左侧的TAB
               $(‘#tab_menu-tabcloseleft‘).click(function () {

                   var prevall = $(‘.tabs-selected‘).prevAll();
                   if (prevall.length == 0) {
                       $.messager.alert(‘提示‘, ‘后面没有了!‘, ‘warning‘);
                       return false;
                   }
                   prevall.each(function (i, n) {
                       if ($(‘a.tabs-close‘, $(n)).length > 0) {
                           var t = $(‘a:eq(0) span‘, $(n)).text();
                           $(‘#tabs‘).tabs(‘close‘, t);
                       }
                   });
                   return false;
               });
           }
           //修改密码
           function showPwdWindow(title, href) {
               $(‘#myWindow‘).window({
                   title: title,
                   width: 600,
                   height: 400,
                   content: ‘<iframe scrolling="no" frameborder="0"  src="‘ + href + ‘" style="width:100%;height:98%;"></iframe>‘,
                   shadow: false,
                   cache: false,
                   closed: false,
                   collapsible: false,
                   resizable: false,
                   loadingMessage: ‘正在加载数据,请稍等片刻......‘
               });
           }
           function showMyWindow(title, href, width, height, modal, minimizable, maximizable, isScrolling) {
               var isScroll = isScrolling == undefined ? "yes" : "no";
               $(‘#myWindow‘).window({
                   title: title,
                   width: width === undefined ? 600 : width,
                   height: height === undefined ? 450 : height,
                   content: ‘<iframe scrolling="‘ + isScroll + ‘" frameborder="0"  src="‘ + href + ‘" style="width:100%;height:98%;"></iframe>‘,
                   //        href: href === undefined ? null : href,
                   modal: modal === undefined ? true : modal,
                   minimizable: minimizable === undefined ? false : minimizable,
                   maximizable: maximizable === undefined ? false : maximizable,
                   shadow: false,
                   cache: false,
                   closed: false,
                   collapsible: false,
                   resizable: false,
                   loadingMessage: ‘正在加载数据,请稍等片刻......‘
               });

           }
    </script>
    <style type="text/css">
        body
        {
            font-family: 微软雅黑,新宋体;
        }
        a
        {
            color: Black;
            text-decoration: none;
        }
        .easyui-tree li
        {
            margin: 5px 0px 0px 0px;
            padding: 1px;
        }

        #mainlogo
        {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 575px;
            height: 72px;
        }
        #center
        {
            padding-left: 575px;
            padding-right: 425px;
        }
        #mainctrl
        {
            position: absolute;
            top: 0px;
            right: 0px;
            height: 72px;
            width: 425px;
        }

        .top
        {
            height: 76px;
            background-color: #00211D;
        }

        .wel
        {
            height: 30px;
            line-height: 30px;
            color: #FFFFFF;
            font-size: 14px;
            text-align: right;
            padding-right: 5px;
        }
        .ctr
        {
            vertical-align: middle;
            margin-top: 18px;
            height: 24px;
            text-align: right;
            background-image: url(../images/beijing.gif);
            background-repeat: repeat-x;
        }
        .ctr li
        {
            float: left;
            list-style: none;
        }
        .zi
        {
            padding-right: 16px;
            padding-left: 3px;
        }

        a.v1:visited, a.v1:active, a.v1:link
        {
            font-size: 14px;
            color: #000;
            text-decoration: none;
        }
        a.v1:hover
        {
            font-size: 14px;
            color: #005500;
            text-decoration: none;
        }
    </style>
</head>
<body class="easyui-layout">
    <noscript>
        <div style="position: absolute; z-index: 100000; height: 2046px; top: 0px; left: 0px;
            width: 100%; background: white; text-align: center;">
            <img src="images/noscript.gif" alt=‘抱歉,请开启脚本支持!‘/>
        </div>
    </noscript>
    <div region="north" split="true" border="false" style="overflow: hidden; height: 76px;
        line-height: 20px; color: #fff; font-family: 微软雅黑,黑体">
        <div class="top" style="background-color:#204478; width:100%;">
            <div id="mainlogo">
                <img id="banner" src="images/hzbanner.png"  alt="一卡通" style="height:72px;"/>
            </div>
            <div id="center">
            </div>
            <div id="mainctrl">
                <div class="wel">
                    @ViewData["PersonName"]
                    ,欢迎您的光临!</div>
                <div class="ctr">
                    <li>
                        <img src="images/yuanjiao.png" alt="" /></li>
                    <li><a href="#">
                        <img src="images/mimaxiugai.gif" alt="" border="0" /></a></li>
                    <li class="zi"><a href="#" id="ChangePassword" class="v1">密码修改</a></li>
                    <li><a href="#">
                        <img src="images/anquantuichu.gif" alt="" border="0" /></a></li>
                    <li class="zi"><a href="#" id="loginOut" class="v1">安全退出</a></li>
                    <li><a href="#">
                        <img src="images/bangzhu.gif" border="0"></a></li>
                    <li class="zi"><a href="http://www.xiongdi.cn" class="v1">帮助中心</a></li>
@*                   <li><a href="#">
                        <img src="images/duanxinxi.gif" alt="" border="0" /></a></li>
                    <li class="zi"><a href="#" class="v1">短消息(0)</a></li>*@
                </div>
            </div>
        </div>
    </div>

    <div region="west" hide="true" split="true" title="导航菜单" style="width: 180px;" id="west">
        <div class="easyui-accordion" fit="true" border="false">
         @Html.Raw(ViewData["Menu"])
        </div>
    </div>
    <div id="mainPanle" region="center" style="background: #eee;">
        <div id="tabs" class="easyui-tabs" fit="true" border="false">
        </div>
    </div>
    <div region="south" split="true" style="height: 29px;">
        <div style="padding: 0px; margin-left: 50%;">
            技术支持 <a href="http://www.xiongdi.cn" target="_blank">雄帝股份</a>
        </div>
    </div>
    <div id="mm" class="easyui-menu" style="width: 150px;">
        <div id="mm-tabupdate" data-options="iconCls:‘icon-reload‘">
            刷新</div>
       <div id="tab_menu-openFrame">
           在新的窗体打开</div>
        <div class="menu-sep">
        </div>
        <div id="mm-tabclose" data-options="iconCls:‘icon-cancel‘">
            关闭</div>
         <div id="tab_menu-tabcloseright">
           关闭右边</div>
        <div id="tab_menu-tabcloseleft">
           关闭左边</div>
        <div id="tab_menu-tabcloseall">
         关闭所有</div>
        <div id="tab_menu-tabcloseother">
          关闭其他标签页</div>
    </div>
    <div id="myWindow">
    </div>
</body>
</html>

4、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——后台管理界面,布布扣,bubuko.com

时间: 2024-10-09 21:04:05

4、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——后台管理界面的相关文章

3、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——用户登录

最近由于项目赶着上线,一直没时间接着写博客,今天终于空出了时间.声名:我不是专业美工,所以界面问题,希望大家不要拍砖.登录界面如下: 在ASP.NET MVC中,要新增一个功能,我们首先要添加一个控制器,AccountController.cs,添加方法:右键单击Controllers文件夹, /// <summary> /// 登录页面 /// </summary> /// <returns></returns> public ActionResult I

5、VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发之——使用datagrid做报表统计

需要说明一点:数据库访问我使用的是EF框架,但是在报表统计着一块由于使用到了动态表,即根据每一天单独生成了一张数据表,所以不好使用EF进行预先添加,于是我在数据库访问层里面封装了两套数据库访问框架,一个就是EF,一个就是传统的ADO.NET.当设计到使用动态表时,我就调用用ADO.NET进行数据库访问操作了. 先看下View,这里我使用的是jquery easyUI里面的datagrid来做的报表.如下: 单击选中日报: 年报如下: @model YKT.Model.SubCompanyRepo

VS2010+ASP.NET MVC4+EF4+JqueryEasyUI+Oracle项目开发(转载)

http://blog.csdn.net/zouyujie1127/article/details/22084671

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(30)-本地化(多语言)

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(30)-本地化(多语言) 我们的系统有时要扩展到其他国家,或者地区,需要更多的语言环境,微软提供了一些解决方案,原始我们是用js来控制的,现在不需要了. 我们只要创建简单的资源文件,通过MVC的路由设置就可以轻松的进行语言中的切换. 本节受益于:Asp.net MVC3 高级编程第121页.大家可以自行百度这本书,这应该是国内第一本中文版的MVC3.0教程 现在从项目入手吧(本节也适合其他MVC程序),

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目

注:阅读本文,需要阅读本系列的之前文章 代码生成器下载地址(文章开头处) 接下来我们建立数据库的表和各层的代码 我们只需要两张表,文章列表(MIS_Article)和类别表(MIS_Article_Category) USE [AppDB] GO /****** Object: Table [dbo].[MIS_Article] Script Date: 05/15/2014 17:33:15 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用

我相信目前国内富文本编辑器中KindEditor 属于前列,详细的中文帮助文档,简单的加载方式,可以定制的轻量级.都是系统的首选 很多文章教程有kindeditor的使用,但本文比较特别可能带有,上传文件的缩略图和水印的源码!这块也是比较复杂和备受关注的功能 一.下载编辑器 KindEditor 4.1.10 (2013-11-23) [1143KB] 官方最新版 或者: http://www.kindsoft.net/down.php 二.添加到项目 解压 kindeditor-x.x.x.z

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了,最后只放出代码供大家参考,其实网上也有这方面的资料,但是不是很好用,我还是自己写了 改变后的效果 手风琴一直都是比较漂亮和受欢迎的,但是基于树多级别来说,做起来就比较麻烦,所以我这里也用了手风琴加树的模式来做 注:上面的图标都是乱添加的,并不代表意思 进入正文: 首先必须下载一些图标.可以自行百度网页小图标

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

我想测试EF在一百万条数据下的显示时间!这分数据应该有很多同学想要,看看EF的性能! 服务器 现在来向SQL2008R2插入1000000条数据吧 declare @i int; set @i=0; while @i<1000000 begin INSERT INTO [AppDB].[dbo].[MIS_Article] ([Id] ,[ChannelId] ,[CategoryId] ,[Title] ,[ImgUrl] ,[BodyContent] ,[Sort] ,[Click] ,[C

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充 系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表的Index代码就可以 加上几个按钮就可以了 <div class="mvctool"> <input id="txtQuery" type="text" class="searchText" /> @Ht