亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

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

系統 2153 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條評論
主站蜘蛛池模板: 日韩精品成人 | 国产性做久久久久久 | 国产成人精品日本亚洲语音2 | 国产成人精品久久综合 | 九九精品激情在线视频 | 国产在线播放一区二区 | 四虎影院地址 | 99久久免费精品视频 | 最新日本免费一区二区三区中文 | 老头老太做爰xxx视频 | 麻豆传煤一区免费入 | 农村苗族一级特黄a大片 | 老子影院午夜伦手机在线看 | 九九久久99| 色综色| 国产成人黄色在线观看 | 91嫩草国产线免费观看 | 日本香蕉视频在线观看 | 香蕉久久高清国产精品免费 | 欧美日本综合一区二区三区 | 日韩欧美中文字幕一区 | 日韩欧美在线一级一中文字暮 | 国产在线精品福利91香蕉 | 综合久久网 | 激情国产白嫩美女在线观看 | 99国内精品久久久久久久 | 免费一级欧美大片视频在线 | 91chinese 永久免费| 九九热在线精品 | 青春草国产成人精品久久 | 亚洲日本视频在线观看 | 欧美不卡视频在线 | 久久久综合中文字幕久久 | 国产成人无精品久久久 | 国产夜夜操| 啪啪99久久综合精品色 | 天天干天天操天天操 | 国内精品伊人久久久久7777人 | 欧美日韩国产精品va | 国产高清不卡视频 | 免费看欧美一级特黄α大片 |