zoukankan      html  css  js  c++  java
  • 系统小结

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

    不知不觉已经过了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

      并加入以下代码

     View Code

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

    复制代码
    @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个问题已经陆续改完了,由于可能是最后一次发布源码,我想做一个不是很“人道”的事情,源码我将发布到QQ群共享37509873

    希望大家来加入Asp.net高级讨论群

     

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

     

     

     

  • 相关阅读:
    topcoder srm 681 div1
    topcoder srm 683 div1
    topcoder srm 684 div1
    topcoder srm 715 div1
    topcoder srm 685 div1
    topcoder srm 687 div1
    topcoder srm 688 div1
    topcoder srm 689 div1
    topcoder srm 686 div1
    topcoder srm 690 div1 -3
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3439528.html
Copyright © 2011-2022 走看看