黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

構(gòu)建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后

系統(tǒng) 2683 0

不知不覺(jué)已經(jīng)過(guò)了13講,(本來(lái)還要講多一講是,數(shù)據(jù)驗(yàn)證之自定義驗(yàn)證,基于園友還是對(duì)權(quán)限這塊比較敢興趣,講不講驗(yàn)證還是看大家的反映),我們應(yīng)該對(duì)系統(tǒng)有一個(gè)小結(jié)。
首先這是一個(gè)團(tuán)隊(duì)開(kāi)發(fā)項(xiàng)目,基于接口編程,我們從EasyUI搭建系統(tǒng)的框架開(kāi)始,開(kāi)始了一個(gè)樣例程序?qū)asyUI的DataGrid進(jìn)行了操作,并實(shí)現(xiàn)Unity的注入到容器,使程序
的性能大大提升,代碼質(zhì)量上升,更佳利于單元測(cè)試,使用日志和異常堅(jiān)固系統(tǒng)穩(wěn)定性等等。。。。


當(dāng)然你應(yīng)該覺(jué)得系統(tǒng)還有存在很多不足,我們應(yīng)該動(dòng)手來(lái)優(yōu)化一下。
下面我羅列了需要優(yōu)化的項(xiàng)目,如果你覺(jué)得還有優(yōu)化的,請(qǐng)?zhí)峤唬覍⒓尤胍院蟮奈恼轮腥?

  1. UI方面,我們的easyui window彈出窗體,是不是沒(méi)有居中,好丑啊;
  2. DataGrid雖然我在綁定時(shí)候?qū)懭肓烁鶕?jù)第一次窗體的變化去適應(yīng)框架,這時(shí)你點(diǎn)擊游覽器的縮小或者擴(kuò)大按鈕,那么你的DataGrid變形了;
  3. JS我們?cè)贒etails頁(yè)面引入了JS,我們是否應(yīng)該把他嵌入到_Layout_----里面去?并進(jìn)行捆綁?
  4. 我們DataGrid返回的日期格式是/Date(20130450000365)你看得懂嗎?
  5. 我們的BLL每次都要去實(shí)例化 DBContainer db = new DBContainer();重復(fù)操作,我們是不是應(yīng)該寫(xiě)一個(gè)BaseBLL基類(lèi)類(lèi)繼承
  6. 我們前端很多提示信息都一樣,是不是應(yīng)該封裝起來(lái),比如點(diǎn)擊:Details時(shí)沒(méi)有選擇提示的“請(qǐng)選擇要操作的記錄”
  7. 工具欄的增、刪、改按鈕一樣每次粘貼的代碼也不少,我們應(yīng)該擴(kuò)展Mvc的HtmlHelper的封裝,之后我們@html.就出來(lái)了多方便,以后還用于權(quán)限控制

優(yōu)化后的系統(tǒng)將可能做為最后一個(gè)發(fā)布源碼的版本, 如無(wú)必要以后不再提供源碼下載 ,但所講的內(nèi)容中,將全部包含完整源碼,請(qǐng)你將完成的系統(tǒng)“珍藏”起來(lái),因
為這是你的勞動(dòng)成果

最后我們將接受一個(gè)更大的目標(biāo)挑戰(zhàn),權(quán)限管理系統(tǒng)。我覺(jué)得這個(gè)是大家最關(guān)心的事情了,但是在此之前,我們將要補(bǔ)充一些知識(shí)。

  • MVC自帶的過(guò)濾器用法
  • MVC路由Rotun概念

權(quán)限系統(tǒng)講完了,我們講T4模板,導(dǎo)出報(bào)表和圖表, 文件上傳 ,系統(tǒng)設(shè)置等等補(bǔ)充..讓我們的系統(tǒng)拿出來(lái)就能當(dāng)項(xiàng)目來(lái)用。
由于接下來(lái)的東西邏輯性和編碼都要比之前的復(fù)雜很多,所以更新可能會(huì)比以前慢。請(qǐng)大家耐心等待,謝謝園友的支持,無(wú)論多忙我都會(huì)不斷的更新

現(xiàn)在我們先來(lái)解決以上7個(gè)問(wèn)題吧!

1.UI方面,我們的easyui window彈出窗體,是不是沒(méi)有居中,好丑啊;

Easyui 讓W(xué)indow彈出居中
2.DataGrid雖然我在綁定時(shí)候?qū)懭肓烁鶕?jù)第一次窗體的變化去適應(yīng)框架,這時(shí)你點(diǎn)擊游覽器的縮小或者擴(kuò)大按鈕,那么你的DataGrid變形了;

Easyui 讓DataGrid適應(yīng)瀏覽器寬度
3.JS我們?cè)贒etails頁(yè)面引入了JS,我們是否應(yīng)該把他嵌入到_Layout_----里面去?并進(jìn)行捆綁?

  我已經(jīng)進(jìn)行壓縮了.源碼帶出.
4.我們DataGrid返回的日期格式是/Date(20130450000365)你看得懂嗎?

MVC解決Json DataGrid返回的日期格式是/Date(20130450000365)
5.我們的BLL每次都要去實(shí)例化 DBContainer db = new DBContainer();重復(fù)操作,我們是不是應(yīng)該寫(xiě)一個(gè)BaseBLL基類(lèi)類(lèi)繼承

  我已經(jīng)進(jìn)行分離,源碼帶出.
6.我們前端很多提示信息都一樣,是不是應(yīng)該封裝起來(lái),比如點(diǎn)擊:Details時(shí)沒(méi)有選擇提示的“請(qǐng)選擇要操作的記錄”

  在App.Common加入以下類(lèi)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.工具欄的增、刪、改按鈕一樣每次粘貼的代碼也不少,我們應(yīng)該擴(kuò)展Mvc的HtmlHelper的封裝,之后我們@html.就出來(lái)了多方便,以后還用于權(quán)限控制

  這個(gè)必須返回MvcHtmlString和在視圖中引入命名空間。在App.Admin的Core文件夾中新建類(lèi)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圖標(biāo)class
          
          
            </param>
          
          
            ///
          
          
            <param name="text">
          
          
            控件的名稱(chēng)
          
          
            </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
        
        
          "
        
        ,
        
          "
        
        
          查詢(xún)
        
        
          "
        
        ,
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnCreate
        
        
          "
        
        , 
        
          "
        
        
          icon-add
        
        
          "
        
        , 
        
          "
        
        
          新增
        
        
          "
        
        ,
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnEdit
        
        
          "
        
        , 
        
          "
        
        
          icon-edit
        
        
          "
        
        , 
        
          "
        
        
          編輯
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnDetails
        
        
          "
        
        , 
        
          "
        
        
          icon-details
        
        
          "
        
        , 
        
          "
        
        
          詳細(xì)
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnDelete
        
        
          "
        
        , 
        
          "
        
        
          icon-remove
        
        
          "
        
        , 
        
          "
        
        
          刪除
        
        
          "
        
        , 
        
          true
        
        
          )
@Html.ToolButton(
        
        
          "
        
        
          btnExport
        
        
          "
        
        , 
        
          "
        
        
          icon-export
        
        
          "
        
        ,
        
          "
        
        
          導(dǎo)出
        
        
          "
        
        ,
        
          true
        
        )
      

迄今為止,我們7個(gè)問(wèn)題已經(jīng)陸續(xù)改完了,由于可能是最后一次發(fā)布【源碼含數(shù)據(jù)庫(kù),完整的增刪改查例子】,我想做一個(gè)不是很“人道”的事情

源碼我將發(fā)布到共享37509873

如果你想獲得一份源碼,希望大家來(lái)加入Asp.net高級(jí)討論群

作者: YmNets
出處: http://ymnets.cnblogs.com/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

構(gòu)建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后臺(tái)管理系統(tǒng)(14)-系統(tǒng)小結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論