接手了一個簡單的銷售獎金計算的項目,雖然不算大可是業務邏輯比較複雜,還夾雜了不少的特殊狀況,畢竟是大公司什麼樣的人都有,好了很少說切入正題,項目是公司的一個前輩負責的,在他作系統架構的時候讓咱們瞭解下MVC4.0更新的基本知識,對於MVC來講作項目以前我就簡單的停留在知道他是Model-View-Controller的簡寫至於具體是什麼,怎麼作則徹底沒有了解。javascript
項目果真是最鍛鍊人的,在項目的架構帶來以後,我看了下大概分爲如下這幾個部分:css
(1) Model項目 存放數據庫表的Model 以及用來展現的 View_Model這些之後都會有講的,數據表對應的Model主要是有數據i驗證部分 html
(2)Service項目 因爲整個項目是一個B/S項目,數據庫是在公司的機房,數據訪問是要讀取公司的數據庫的 ,因此和數據操做相關的都放在了這個項目裏面了 爲了便於維護,整個項目主要使用的Web Api和Linq To Sql開發java
(3) Reward 項目這個是和業務息息相關的部分,也是向客戶展現的部分,也就是傳統意義上的 UI ,固然MVC本質上就是UI層的表現形式,提及來我以前一直覺得是和三層同樣的數據架構,但他只是三層架構中的UI層,經過MVC開發UI層實現了頁面和數據的真正意義上的分離。在這個項目裏面主要用到的技術是MVC ,jquery.easyui,WebApi調用等等。jquery
開發工具升級到了VS2012, 感謝萬能的度娘。數據庫
@using GM360_REWARD_Model; @using GM360_REWARD_UTILITY; <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> @Styles.Render("~/Content/style.css", "~/themes/default/easyui.css") @Scripts.Render("~/Scripts/jquery-1.4.2.min.js") @RenderSection("js_css", false) <style type="text/css"> .foot { left: 0; bottom: 0; POSITION: absolute; width: 100%; height: 36px; } </style> <script type="text/javascript"> $(document).ready(function () { var _url = window.location.href; var _startIndex = _url.indexOf("\//") + 2; var _subStartIndex = _url.indexOf("\/", _startIndex); var _strMark = _url.substring(_subStartIndex + 1, _url.indexOf("\/", _subStartIndex + 1)); $(".main_meau li").each(function (index, item) { var flag = $(item).children("a").attr("href").indexOf(_strMark); if (flag > -1) { $(this).removeClass("dh_4"); $(this).addClass("dh_4"); } }); }); </script> </head> <body> <div class="top_head"> <div class="tophead_left"> <div class="left_logo"> <img src="~/Images/logo_01.gif" /> </div> <div class="main_meau"> <ul> <li> <a href="/DataInfoAndCal/Index" onclick="javascript:location.replace(this.href);event.returnValue=false;">數據源導入</a></li> <li> <a href="/InqueryAllReward/Index" onclick="javascript:location.replace(this.href);event.returnValue=false;">獎金查詢</a></li> <li> <a href="/BadDebt/Create/" onclick="javascript:location.replace(this.href);event.returnValue=false;">壞帳登記</a></li> <li> <a href="/SaleRelationship/Index" onclick="javascript:location.replace(this.href);event.returnValue=false;">銷售帶隊關係</a></li> @if ((Session["User"] as GM360_REWARD_Model.User) != null && (Session["User"] as GM360_REWARD_Model.User).UserName == "admin") { <li> <a href="/home/DownLoad/" onclick="javascript:location.replace(this.href);event.returnValue=false;">歷史數據下載</a> </li> } </ul> </div> </div> <div class="tophead_right"> <div class="top_right_zi"> <div class="zi_left"> 歡迎您!<b id="username">@if ((Session["User"] as GM360_REWARD_Model.User) != null) { @((Session["User"] as GM360_REWARD_Model.User).UserName); }</b> </div> <div class="zi_right"> <ul> <li> <a href="/User/Exit">退出系統</a></li> </ul> </div> </div> </div> </div> @RenderBody() <div class="foot"> <div class="foot_con"> 版本信息 2013@copyright xxxxxxxxxxxxxxxxxxxx </div> </div> @*@Scripts.Render("~/bundles/jquery") @RenderSection("scripts", required: false)*@ </body> </html>
這是Shared 文件夾下的_Layout.cshtml文件,之後全部的View頁面都是以這個頁面爲模板的 簡單的給你們說下,但願高手指正, 給新手一點參考 頂部是 引用的兩個命名空間架構
@using GM360_REWARD_Model;
@using GM360_REWARD_UTILITY;
引用都要用到的CSS JS 文件 以及給頁面另外存放的 地方工具
@Styles.Render("~/Content/style.css", "~/themes/default/easyui.css") @Scripts.Render("~/Scripts/jquery-1.4.2.min.js") @RenderSection("js_css", false)
@RenderBody()
上面的這個 @RenderBody() 是添加內容的地方,頁面的大概佈局就是這個樣子 ,明天繼續,由於這個項目已經完成了 ,不太能重現當時的錯誤,因此只能按照開發的順利 來一點一點的講解,有什麼問題能夠留言。由於不常常發文章因此uk按起來可能會比較亂,多指正.佈局