构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后

系统 1630 0

不知不觉已经过了13讲,(本来还要讲多一讲是,数据验证之自定义验证,基于园友还是对权限这块比较敢兴趣,讲不讲验证还是看大家的反映),我们应该对系统有一个小结。
首先这是一个团队开发项目,基于接口编程,我们从EasyUI搭建系统的框架开始,开始了一个样例程序对EasyUI的DataGrid进行了操作,并实现Unity的注入到容器,使程序
的性能大大提升,代码质量上升,更佳利于单元测试,使用日志和异常坚固系统稳定性等等。。。。


当然你应该觉得系统还有存在很多不足,我们应该动手来优化一下。
下面我罗列了需要优化的项目,如果你觉得还有优化的,请提交,我将加入以后的文章中去

  1. UI方面,我们的easyui window弹出窗体,是不是没有居中,好丑啊;
  2. DataGrid虽然我在绑定时候写入了根据第一次窗体的变化去适应框架,这时你点击游览器的缩小或者扩大按钮,那么你的DataGrid变形了;
  3. JS我们在Details页面引入了JS,我们是否应该把他嵌入到_Layout_----里面去?并进行捆绑?
  4. 我们DataGrid返回的日期格式是/Date(20130450000365)你看得懂吗?
  5. 我们的BLL每次都要去实例化 DBContainer db = new DBContainer();重复操作,我们是不是应该写一个BaseBLL基类类继承
  6. 我们前端很多提示信息都一样,是不是应该封装起来,比如点击:Details时没有选择提示的“请选择要操作的记录”
  7. 工具栏的增、删、改按钮一样每次粘贴的代码也不少,我们应该扩展Mvc的HtmlHelper的封装,之后我们@html.就出来了多方便,以后还用于权限控制

优化后的系统将可能做为最后一个发布源码的版本, 如无必要以后不再提供源码下载 ,但所讲的内容中,将全部包含完整源码,请你将完成的系统“珍藏”起来,因
为这是你的劳动成果

最后我们将接受一个更大的目标挑战,权限管理系统。我觉得这个是大家最关心的事情了,但是在此之前,我们将要补充一些知识。

  • MVC自带的过滤器用法
  • MVC路由Rotun概念

权限系统讲完了,我们讲T4模板,导出报表和图表, 文件上传 ,系统设置等等补充..让我们的系统拿出来就能当项目来用。
由于接下来的东西逻辑性和编码都要比之前的复杂很多,所以更新可能会比以前慢。请大家耐心等待,谢谢园友的支持,无论多忙我都会不断的更新

现在我们先来解决以上7个问题吧!

1.UI方面,我们的easyui window弹出窗体,是不是没有居中,好丑啊;

Easyui 让Window弹出居中
2.DataGrid虽然我在绑定时候写入了根据第一次窗体的变化去适应框架,这时你点击游览器的缩小或者扩大按钮,那么你的DataGrid变形了;

Easyui 让DataGrid适应浏览器宽度
3.JS我们在Details页面引入了JS,我们是否应该把他嵌入到_Layout_----里面去?并进行捆绑?

  我已经进行压缩了.源码带出.
4.我们DataGrid返回的日期格式是/Date(20130450000365)你看得懂吗?

MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
5.我们的BLL每次都要去实例化 DBContainer db = new DBContainer();重复操作,我们是不是应该写一个BaseBLL基类类继承

  我已经进行分离,源码带出.
6.我们前端很多提示信息都一样,是不是应该封装起来,比如点击:Details时没有选择提示的“请选择要操作的记录”

  在App.Common加入以下类Suggestion

View Code

  在视图中的使用

        $(
        
          "
        
        
          #btnDelete
        
        
          "
        
        
          ).click(function () {
            
        
        
          var
        
         row = $(
        
          '
        
        
          #List
        
        
          '
        
        ).datagrid(
        
          '
        
        
          getSelected
        
        
          '
        
        
          );
            
        
        
          if
        
         (row != 
        
          null
        
        
          ) {
                $.messager.confirm(
        
        
          '
        
        
          提示
        
        
          '
        
        , 
        
          '
        
        
          @Suggestion.YouWantToDeleteTheSelectedRecords
        
        
          '
        
        
          , function (r) {
                        
        
        
          if
        
        
           (r) {
                            $.post(
        
        
          "
        
        
          /SysSample/Delete?id=
        
        
          "
        
         +
        
           row.Id, function (data) {
                                
        
        
          if
        
         (data.type == 
        
          1
        
        
          )
                                    $(
        
        
          "
        
        
          #List
        
        
          "
        
        ).datagrid(
        
          '
        
        
          load
        
        
          '
        
        
          );
                                $.messageBox5s(
        
        
          '
        
        
          提示
        
        
          '
        
        
          , data.message);
                            }, 
        
        
          "
        
        
          json
        
        
          "
        
        
          );

                        }
                    });
                } 
        
        
          else
        
         { $.messageBox5s(
        
          '
        
        
          提示
        
        
          '
        
        , 
        
          '
        
        
          @Suggestion.PlaseChooseToOperatingRecords
        
        
          '
        
        
          ); }
            });
        
      

@Suggestion.PlaseChooseToOperatingRecords '

7.工具栏的增、删、改按钮一样每次粘贴的代码也不少,我们应该扩展Mvc的HtmlHelper的封装,之后我们@html.就出来了多方便,以后还用于权限控制

  这个必须返回MvcHtmlString和在视图中引入命名空间。在App.Admin的Core文件夹中新建类ExtendMvcHtml

  并加入以下代码

          
            using
          
          
             System;

          
          
            using
          
          
             System.Collections.Generic;

          
          
            using
          
          
             System.Linq;

          
          
            using
          
          
             System.Text;

          
          
            using
          
          
             System.Web;

          
          
            using
          
          
             System.Web.Mvc;

          
          
            using
          
          
             App.Models.Sys;


          
          
            namespace
          
          
             App.Admin
{
    
          
          
            public
          
          
            static
          
          
            class
          
          
             ExtendMvcHtml
    {
    
        
          
          
            ///
          
          
            <summary>
          
          
            ///
          
          
             普通按钮
        
          
          
            ///
          
          
            </summary>
          
          
            ///
          
          
            <param name="helper">
          
          
            htmlhelper
          
          
            </param>
          
          
            ///
          
          
            <param name="id">
          
          
            控件Id
          
          
            </param>
          
          
            ///
          
          
            <param name="icon">
          
          
            控件icon图标class
          
          
            </param>
          
          
            ///
          
          
            <param name="text">
          
          
            控件的名称
          
          
            </param>
          
          
            ///
          
          
            <param name="hr">
          
          
            分割线
          
          
            </param>
          
          
            ///
          
          
            <returns>
          
          
            html
          
          
            </returns>
          
          
            public
          
          
            static
          
           MvcHtmlString ToolButton(
          
            this
          
           HtmlHelper helper, 
          
            string
          
           id, 
          
            string
          
           icon, 
          
            string
          
           text, 
          
            bool
          
          
             hr)
        {

            StringBuilder sb 
          
          = 
          
            new
          
          
             StringBuilder();
            sb.AppendFormat(
          
          
            "
          
          
            <a id=\"{0}\" style=\"float: left;\" class=\"l-btn l-btn-plain\">
          
          
            "
          
          
            , id);
            sb.AppendFormat(
          
          
            "
          
          
            <span class=\"l-btn-left\"><span class=\"l-btn-text {0}\" style=\"padding-left: 20px;\">
          
          
            "
          
          
            , icon);
            sb.AppendFormat(
          
          
            "
          
          
            {0}</span></span></a>
          
          
            "
          
          
            , text);
            
          
          
            if
          
          
             (hr)
            {
                sb.Append(
          
          
            "
          
          
            <div class=\"datagrid-btn-separator\"></div>
          
          
            "
          
          
            );
            }
            
          
          
            return
          
          
            new
          
          
             MvcHtmlString(sb.ToString());

        }
    }
}
          
        

  并在视图中使用它,使用例子!

        @Html.ToolButton(
        
          "
        
        
          btnQuery
        
        
          "
        
        , 
        
          "
        
        
          icon-search
        
        
          "
        
        ,
        
          "
        
        
          查询
        
        
          "
        
        ,
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnCreate
        
        
          "
        
        , 
        
          "
        
        
          icon-add
        
        
          "
        
        , 
        
          "
        
        
          新增
        
        
          "
        
        ,
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnEdit
        
        
          "
        
        , 
        
          "
        
        
          icon-edit
        
        
          "
        
        , 
        
          "
        
        
          编辑
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnDetails
        
        
          "
        
        , 
        
          "
        
        
          icon-details
        
        
          "
        
        , 
        
          "
        
        
          详细
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnDelete
        
        
          "
        
        , 
        
          "
        
        
          icon-remove
        
        
          "
        
        , 
        
          "
        
        
          删除
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnExport
        
        
          "
        
        , 
        
          "
        
        
          icon-export
        
        
          "
        
        ,
        
          "
        
        
          导出
        
        
          "
        
        ,
        
          true
        
        )
      

迄今为止,我们7个问题已经陆续改完了,由于可能是最后一次发布【源码含数据库,完整的增删改查例子】,我想做一个不是很“人道”的事情

源码我将发布到共享37509873

如果你想获得一份源码,希望大家来加入Asp.net高级讨论群

作者: YmNets
出处: http://ymnets.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(14)-系统小结


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论