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>&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">
版本信息 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按起来可能会比较乱,多指正.

 
 
 

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

  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. Web前端开发实用的Chrome插件

    Web前端开发实用的Chrome插件 越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员极大的提高工作效率.尤其Chrome本身是可以登录的,登录 ...

  2. Swift构造函数(Initializer)和析构函数(Deinitializer)

    要初始化结构和类和其他类型的实例的属性. 默认的构造函数 struct Fahrenheit { var temperature: Doubleinit(){ temperature = 32.0 } ...

  3. 【百度地图API】如何给自定义覆盖物添加事件

    原文:[百度地图API]如何给自定义覆盖物添加事件 摘要: 给marker.lable.circle等Overlay添加事件很简单,直接addEventListener即可.那么,自定义覆盖物的事件应 ...

  4. 【百度地图API】北京周边7日游——图标按路线轨迹行动

    原文:[百度地图API]北京周边7日游--图标按路线轨迹行动 任务描述: 春节就要来啦~酸奶小妹的妈妈要从遥远的重庆,来到北京过春节呢!酸奶小妹忙着给妈妈计划,北京周边的旅游线路.计划好路线后,就开始 ...

  5. google code 上源码的下载方法

    SVN全称是Subversion,是Apache的一个子项目 ,具体能够到SVN中文站(http://www.subversion.org.cn/)去了解下.Google Code是Google的一个 ...

  6. Android NDK的C++11标准支持

    C++11于Android NDK它已被支持,本文介绍了如何NDK添加C++11支持标准. 在开源项目Cocos2d-x于,他已经加入C++11支持标准. 1.改动Application.mk文件,加 ...

  7. Unity3D-RPG项目实战(3):整合Visual Studio 2013开发环境

    古人云:工欲善其事必先利其器,IDE尽管属于一个非常上层的工具,可是一个好的IDE对工作效率提高还是非常大的. 事实上我还是满想用一下官方推荐的Mono,毕竟跨平台如今还是非常重要的一个特性.尝试了这 ...

  8. mysql分表分库

    单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到. 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数 ...

  9. 布尔逻辑运算,goto语句

    布尔逻辑 bool类型可以有两个值:true或者false. 布尔比较需要使用布尔比较运算符(关系运算符),下图:var1为布尔类型的变量,var2,var3则可以是不同类型.

  10. 设计与实现的简单和经常使用的权限系统(五岁以下儿童):不维护节点的深度level,手工计算level,树形结构

     以这种方式.和第三的类似介绍.所不同的是.深度未在数据库中存储节点level,添加和更改时间,护.而是,在程序中,实时去计算的. 至于后面的,依照level升序排序,再迭代全部的节点构造树,与第三篇 ...