建设局项目总结(一)
时间飞逝,转眼间暑假就过去了、过完年初八老师说要我们回学校帮他做他所接的项目,现在想想,真不如说他想趁这个时间培养我们,因为,从这几天明显的感觉到,他在给我们做分析的时间早已经把这些工作做完了。
这次做的是老师从某市建设局的一个网上审核,评估和申请项目的网上平台。这个建设局倒是挺给力,不仅提供了舒适的办公条件,还提供了丰富的午餐。真是心里万分感激。这次的项目,由于我们老师是搞.NET,所以我们这次的项目主要是.NET来做。由于以前主要是以java的学习为主,对.NET真正了解的也不算太多,所以前三天几乎就是一个学习。
我们这次项目是采用ASP.NET的最新技术MVC3.0来做,下面,根据我这几天的学习,来总结一下MVC3.0:mvc3.0主要有model,view,controller三层结构组成,在model中主要是有实体类和数据缓存容器(自己起的名字,哈哈),有时在model中也添加一些业务处理逻辑。。甚至有时候还对model进行分层三层,view主要是页面的显示和页面的布局,而controller主要是负责页面的跳转,一般不做其他工作。在mvc3.0添加了新的视图模型Razor,这个模型大大的减小了程序员的代码量。用少量的代码可以写出更多的功能,还有一个这次项目中很重要的知识点就是EntityFramework,ADO.NETEntityFramework是微软以ADO.NET为基础所发展出来的对象关系对应(O/RMapping)解决方案,早期被称为ObjectSpace,,EntityFramework主要分三种种方式进行操作:code-First,model——first,db—first,
1.这三种方式,code-first主要是写好实体类,vs2010可以利用code-firstEntityFrameWork插件自动生成出数据库,但是这样生成数据库的缺点是实在是不好控制数据库,对以后的可扩展性不好。
2.db—first,这种方式主要是先建好数据库,然后根据数据库,添加ADO.NET实体数据模型,自动生成实体类和数据缓存容器。还有一些数据CRUD一些列操作的方法。
3.最后一个,model-first主要是对实体.edmx文件进行操作,主要是在图形化界面中对实体之间的关系进行操作。。。设计好实体之间的关系之后,根据这个关系,生成实体类和数据库
今天主要实现的事一个页面之间的个人工作经验的增删改查:controller中的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ConstructionMis.Dll.Bll;
using ConstructionMis.Dll.Entity;
namespace ConstructionMis.Web.Controllers
{
public class WorkExpController : Controller
{
//
// GET: /WorkExp/
WorkExpBll expBll = new WorkExpBll();
public ActionResult insert(int personId)
{//点?击÷添?加ó按恪?钮¥
ViewBag.editIndex = -1;
List<WorkExperience> list = expBll.select(personId);
return View("Index",list);
}
public ActionResult edit(int workId) {//点?击÷编括?辑-按恪?钮¥
int pId = expBll.getPId(workId);
ViewBag.personId = pId;
List<WorkExperience> list = expBll.select(pId);
ViewBag.editIndex = list.FindIndex(t => t.Id == workId);
return View("Index",list);
}
public ActionResult delete(int id)
{//点?击÷删?除y按恪?钮¥
expBll.delete(id);
List<WorkExperience> list = expBll.select(id);
return View("Index",list);
}
public ActionResult Index(int id) {
List<WorkExperience> list = expBll.select(id);
return View(list);
}
public ActionResult Save(WorkExperience exp) {
int id = exp.Id;
if (id > 0)
{
expBll.update(exp);
}
else {
expBll.insert(exp);
}
return View("index");
}
}
}
View页面的代码:
@model IEnumerable<ConstructionMis.Dll.Entity.WorkExperience>
<link href="@Url.Content("~/css/simple.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/css/cupertino/jquery-ui-1.8.12.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.ui.datepicker-zh-CN.js")" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#StartTime').datepicker();
$('#EndTime').datepicker();
$('table.grid tr:odd').addClass('odd');
}); //$(function )
</script>
<table class="grid">
<tr>
<th colspan="2">
操ù作痢?
</th>
<th>
工¤作痢?单蹋?位?
</th>
<th>
职°务?
</th>
<th>
起e始?时骸?间?
</th>
</tr>
@{ int i = 0; string css = "even"; }
@foreach (var inf in Model)
{
if (i % 2 == 0) { css = "even"; }
else { css = "odd"; }
<tr class='@css'>
<td>
@Html.ActionLink(" 编括? 辑- ", "", new { id=inf.Id })
</td>
<td>
@Html.ActionLink(" 删? 除y ", "Delete", new { id = inf.Id })
</td>
<td>
@inf.Company
</td>
<td>
@inf.Duty
</td>
<td>@inf.StartTime.ToString().Substring(0, @inf.StartTime.ToString().IndexOf(" "))[email protected]().Substring(0, @inf.EndTime.ToString().IndexOf(" "))
</td>
</tr>
}
</table>
@{
string display = "none";
ConstructionMis.Dll.Entity. WorkExperience m=new ConstructionMis.Dll.Entity.WorkExperience();
if (ViewBag.editIndex != null)
{
display ="block";
if(ViewBag.editIndex>=0)
{
int i = ViewBag.editIndex;
m= Model[i];
}
}
}
<div id="editorInfo" style="display:@display">
@using (Html.BeginForm("",""))
{
<fieldset style="width:450px">
<legend>编括?辑-详ê情é</legend>
工¤作痢?单蹋?位?:<input type="text" id="Company" value="@m.Company" />
职°务?:<input type="text" id="Duty" value="@m.Duty"/><br />
起e始?时骸?间?:<input type="text" id="StartTime" value="@m.StartTime" /> 至á <input type="text" id="EndTime" value="@m.EndTime" /><br /><br />
<input type="submit" value="提?交?" style="margin-left:100px;" />
<input type="reset" value="取?消?" />
</fieldset>
}
</div>
上一篇: IOS-项目总结(一)
下一篇: 初学rails项目总结(一)
推荐阅读
-
jQuery自带的一些常用方法总结_jquery
-
PHP学习总结(一),php学习总结
-
对javascript的一点点认识总结《javascript高级程序设计》读书笔记_javascript技巧
-
在使用@angular/cli创建的angular项目上添加postcss等一系列移动端自适应插件
-
总结一下要影响SQLSERVER锁的申请和释放行为要考虑的因素
-
谁知道一些基于lumen的开源项目
-
深入DropDownList用法的一些学习总结分析
-
创建一个完整的ASP.NET Web API项目
-
一个文档管理项目,采用markdown方式写作
-
用Eclipse 创建一个简单的web项目(图文教程)