接手了一个简单的销售奖金计算的项目,虽然不算大但是业务逻辑比较复杂,还夹杂了很多的特殊情况,毕竟是大公司什么样的人都有,好了不多说切入正题,项目是公司的一个前辈负责的,在他做系统架构的时候让我们了解下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. [原创]HTML5 web性能监控策略

    web性能重要指标--时长 通常在监控前端页面性能的时候,我们会需要获取到很多的时间戳,比如用户按下回车的时候开始计时,但这个时候,我们统计的js代码并没有加载过来,也无法读取到相关的信息.在HTML ...

  2. css中margin:0 auto没作用

    很多初学制作网页的朋友,可能会遇到的一个常见问题,就是在CSS中加了margin:0 auto;却没有效果,不能居中的问题!margin:0 auto;的意思就是:上下边界为0,左右根据宽度自适应!其 ...

  3. sgu Flow construction

    Flow construction 题目: 给出N个节点M条水管,要求在满足上下界的情况下.满足起点最小的流量. 算法: 这是最小流????不知道.仅仅知道用求解上下界最大流的方法就过了. 做这题收获 ...

  4. RedHat下GCC及G++的安装

    GCC的安装: 切换到安装光盘目录下: #mount /dev/cdrom    /mnt/cdrom #cd /mnt/cdrom 安装GCC依赖的*rpm程序,必须按照顺序依次执行: #rpm - ...

  5. 服务 进程间通讯 IPC AIDL Parcelable 简介

    1.IBinder和Binder是什么鬼? 我们来看看官方文档怎么说: 中文翻译:  IBinder是远程对象的基本接口,是为了高性能而设计的轻量级远程调用机制的核心部分. 但他不仅用于远程调用,也用 ...

  6. 分享一次在Windows Server2012 R2中安装SQL Server2008

    入手一台Windows Server2012云服务器,搭建一下服务环境,选用SQL Server2008 直奔主题,下好安装镜像后,直接双击 选择运行程序而不获取帮助 如图: 进入安装中心后选择 安装 ...

  7. The type or namespace name 'Script' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

    应该说是 .net4 的bug,没有所谓的 System.Web.Extensions.dll 库文件,需要将项目的 Target Framework修改为 3.5版本,才能加载System.Web. ...

  8. 第1章 网络编程基础(4)——TCP/IP通信

    TCP协议利用网络层IP协议提供不可靠的通信服务,解决分组的重传和排序问题,为应用程序提供可靠的.端到端的.面向连接的基于字节流的服务. 对等TCP传输实体间的通信具有如下特征: 全双工 只支持两个端 ...

  9. shell中命令的执行流程

    在shell中,一个命令有3中写法: 1 可以直接写(Normal Command) 2 可以放在双引号中("Command") 3 可以放在单引号中('Comand') 这3中写 ...

  10. Mysql 索引的基础(上)

    要理解Mysql 中索引是如何工作的,最简单的方法是去看一看书的"索引部分":如果想在一本书中找到某个特定的主题,一般先看书的"索引",找到对应的页码. 在My ...