MVC4.0系统开发新手历程(一)
接手了一个简单的销售奖金计算的项目,虽然不算大但是业务逻辑比较复杂,还夹杂了很多的特殊情况,毕竟是大公司什么样的人都有,好了不多说切入正题,项目是公司的一个前辈负责的,在他做系统架构的时候让我们了解下MVC4.0更新的基本知识,对于MVC来说做项目之前我就简单的停留在知道他是Model-View-Controller的简写至于具体是什么,怎么做则完全没有了解。
项目果然是最锻炼人的,在项目的架构带来之后,我看了下大概分为以下这几个部分:
(1) Model项目 存放数据库表的Model 以及用来展示的 View_Model这些以后都会有讲的,数据表对应的Model主要是有数据i验证部分
(2)Service项目 由于整个项目是一个B/S项目,数据库是在公司的机房,数据访问是要读取公司的数据库的 ,所以和数据操作相关的都放在了这个项目里面了 为了便于维护,整个项目主要使用的Web Api和Linq To Sql开发
(3) Reward 项目这个是和业务息息相关的部分,也是向客户展示的部分,也就是传统意义上的 UI ,当然MVC本质上就是UI层的表现形式,说起来我之前一直以为是和三层一样的数据架构,但他只是三层架构中的UI层,通过MVC开发UI层实现了页面和数据的真正意义上的分离。在这个项目里面主要用到的技术是MVC ,jquery.easyui,WebApi调用等等。
开发工具升级到了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按起来可能会比较乱,多指正.