不知不覺已經過了13講,(本來還要講多一講是,數據驗證之自定義驗證,基于園友還是對權限這塊比較敢興趣,講不講驗證還是看大家的反映),我們應該對系統有一個小結。
首先這是一個團隊開發項目,基于接口編程,我們從EasyUI搭建系統的框架開始,開始了一個樣例程序對EasyUI的DataGrid進行了操作,并實現Unity的注入到容器,使程序
的性能大大提升,代碼質量上升,更佳利于單元測試,使用日志和異常堅固系統穩定性等等。。。。
當然你應該覺得系統還有存在很多不足,我們應該動手來優化一下。
下面我羅列了需要優化的項目,如果你覺得還有優化的,請提交,我將加入以后的文章中去
- UI方面,我們的easyui window彈出窗體,是不是沒有居中,好丑啊;
- DataGrid雖然我在綁定時候寫入了根據第一次窗體的變化去適應框架,這時你點擊游覽器的縮小或者擴大按鈕,那么你的DataGrid變形了;
- JS我們在Details頁面引入了JS,我們是否應該把他嵌入到_Layout_----里面去?并進行捆綁?
- 我們DataGrid返回的日期格式是/Date(20130450000365)你看得懂嗎?
- 我們的BLL每次都要去實例化 DBContainer db = new DBContainer();重復操作,我們是不是應該寫一個BaseBLL基類類繼承
- 我們前端很多提示信息都一樣,是不是應該封裝起來,比如點擊:Details時沒有選擇提示的“請選擇要操作的記錄”
- 工具欄的增、刪、改按鈕一樣每次粘貼的代碼也不少,我們應該擴展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

在視圖中的使用
$( " #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高級討論群
出處: http://ymnets.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
