接手了一个简单的销售奖金计算的项目,虽然不算大但是业务逻辑比较复杂,还夹杂了很多的特殊情况,毕竟是大公司什么样的人都有,好了不多说切入正题,项目是公司的一个前辈负责的,在他做系统架构的时候让我们了解下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: ;
bottom: ;
POSITION: absolute;
width: %;
height: 36px;
}
</style>
<script type="text/javascript">
$(document).ready(function () {
var _url = window.location.href;
var _startIndex = _url.indexOf("\//") + ;
var _subStartIndex = _url.indexOf("\/", _startIndex);
var _strMark = _url.substring(_subStartIndex + , _url.indexOf("\/", _subStartIndex + ));
$(".main_meau li").each(function (index, item) { var flag = $(item).children("a").attr("href").indexOf(_strMark);
if (flag > -) {
$(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>&nbsp;
</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">
版本信息 @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按起来可能会比较乱,多指正.

MVC4.0系统开发新手历程(一)的更多相关文章

  1. MVC4.0系统开发新手历程1

    MVC4.0系统开发新手历程(一) 接手了一个简单的销售奖金计算的项目,虽然不算大但是业务逻辑比较复杂,还夹杂了很多的特殊情况,毕竟是大公司什么样的人都有,好了不多说切入正题,项目是公司的一个前辈负责 ...

  2. MVC4.0系统开发新手历程(二)

    登录页 首先声明登录页不是我开发完成的 所以就简单的发下供大家参考 思路:由于是奖金系统,里面涉及到Money,所以在验证方面上下了很大的功夫,我看了下 主要的思想是 获取到那几个人会用到这个系统,然 ...

  3. MVC4.0系统开发新手历程(四)数据列表查询

    任何系统都不可避免的就是数据的查询展示,我觉得这里最值得一说的就是分部视图以及数据分页了 首先添加控制器 在控制其上面的名字为Index的Action上面右击,添加视图即可添加对应的视图,分部视图呈现 ...

  4. MVC4.0系统开发新手历程(三)---数据导入计算

      数据导入计算 数据的重要意义就不需要我多说了吧,本项目中的数据来源是来自荆艺系统(熟悉物流报关的朋友应该知道)导出的一张Excel,包含了一段时间内整个公司所有销售的全部记录,保密级别那是杠杠的, ...

  5. 跟我一起学习ASP.NET 4.5 MVC4.0(一)(转)

    由于上面一个项目使用的是ASP.NET4.0 MVC3.0,在招人的时候发现很多人有听说过MVC,但是却是没用过,对MVC也只是一知半解,最近想给团队成员做一个系统的解说,让大家都可以学习一下ASP. ...

  6. 跟我一起学习ASP.NET 4.5 MVC4.0(一)

    跟我一起学习ASP.NET 4.5 MVC4.0(一)   由于上面一个项目使用的是ASP.NET4.0 MVC3.0,在招人的时候发现很多人有听说过MVC,但是却是没用过,对MVC也只是一知半解,最 ...

  7. 跟我一起学习ASP.NET 4.5 MVC4.0 (转)

    跟我一起学习ASP.NET 4.5 MVC4.0(一)   由于上面一个项目使用的是ASP.NET4.0 MVC3.0,在招人的时候发现很多人有听说过MVC,但是却是没用过,对MVC也只是一知半解,最 ...

  8. 建筑材料系统 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发

    框架介绍: 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性 ...

  9. MVC通用控件库展示-MVC4.0+WebAPI+EasyUI+Knockout--SNF快速开发平台3.0

    在我们开发中怎么才能提高效率,就是要有大量的公共组件(控件)可以直接使用而不用自己再开发一遍,既然是公共控件那也得简单实用才行.下面就介绍一下SNF-MVC当中的控件库. 总体控件库展示: 1.通用用 ...

随机推荐

  1. 【KMP】Period

    KMP算法 Next[]函数深入理解,Next[]当前字符前匹配字符数,串长n-Next[i]=串内循环子串的长度p. 本题求子循环串内循环节数. Problem Description For ea ...

  2. 修改oracle服务器所在linux主机名

    1.修改/etc/hosts 2.修改 /etc/sysconfig/network 3.修改oracle的 listener.ora 4.修改 tnsnames.ora  

  3. BLOG PLUGINS

    文章分享按钮 (1)加网(JiaThis) (2)百度分享 文章关联推荐 每篇博文下面可以显示你博客中与该篇博文有些关联的几篇文章,也就是智能推荐,一方面可以增加你博文的曝光率和点击率,一方面也可以给 ...

  4. iOS-网络编程(二)文件上传和断点离线下载

    一. iOS中发送HTTP请求的方案 在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案 (iOS 9.0弃用)NSUR ...

  5. MFC原创:三层架构01(人事管理系统)DAL

    VC++/MFC Window编程原创教程文件夹 C++课程设计来着.但还没学过数据,也还没理解过三层架构,就把这个作业深化点来做了.尽管要做的这个人事管理系统看起来是挺简单的,无非就是处理员工信息. ...

  6. udp 不需要 listen

    accept()不是监听,accept()是接受新连接.listen()是进入监听状态,表示愿意接收连接请求.listen之后有连接请求就将其放到队列中,accept()时把新连接请求从队列中取出,建 ...

  7. Hibernate项目里配置环境时,jar包配置不当会对测试结果产生影响。

    问题情况: 如下图所示,该图中,显示了一堆错误的jar包.这是导致了Junit4测试通过了,数据库却没反应的原因. 原因: 之所以出现这种情况,eclipse其实已经告诉了我们原因.如下图所示,这些j ...

  8. C#调用cmd 脚本实例

    1.实例1 public static void TestOne() { Process p = new Process(); p.StartInfo.FileName = "cmd.exe ...

  9. IDirect3DDevice9::Clear

    在绘制每一帧图形前都要先清空视区,即清空渲染目标表面上的视区矩形的内容:颜色缓冲区.深度缓冲区或者模板缓冲区. HRESULT Clear(  [in]  DWORD Count,           ...

  10. runtime error ?

    程序运行时错误(运行时出错就是出现在程序运行过程中的),有很多种: 比如:溢出.内存泄露.死循.乱用指针.数组越界(数组开小了?).除以0错误.递归太深层(系统暴栈了)