欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

建设局项目总结(一)

程序员文章站 2022-07-03 11:58:56
...

时间飞逝,转眼间暑假就过去了、过完年初八老师说要我们回学校帮他做他所接的项目,现在想想,真不如说他想趁这个时间培养我们,因为,从这几天明显的感觉到,他在给我们做分析的时间早已经把这些工作做完了。

这次做的是老师从某市建设局的一个网上审核,评估和申请项目的网上平台。这个建设局倒是挺给力,不仅提供了舒适的办公条件,还提供了丰富的午餐。真是心里万分感激。这次的项目,由于我们老师是搞.NET,所以我们这次的项目主要是.NET来做。由于以前主要是以java的学习为主,对.NET真正了解的也不算太多,所以前三天几乎就是一个学习。

我们这次项目是采用ASP.NET的最新技术MVC3.0来做,下面,根据我这几天的学习,来总结一下MVC3.0mvc3.0主要有modelviewcontroller三层结构组成,在model中主要是有实体类和数据缓存容器(自己起的名字,哈哈),有时在model中也添加一些业务处理逻辑。。甚至有时候还对model进行分层三层,view主要是页面的显示和页面的布局,而controller主要是负责页面的跳转,一般不做其他工作。在mvc3.0添加了新的视图模型Razor,这个模型大大的减小了程序员的代码量。用少量的代码可以写出更多的功能,还有一个这次项目中很重要的知识点就是EntityFrameworkADO.NETEntityFramework微软ADO.NET为基础所发展出来的对象关系对应(O/RMapping)解决方案,早期被称为ObjectSpace,EntityFramework主要分三种种方式进行操作:code-Firstmodel——firstdbfirst

1.这三种方式,code-first主要是写好实体类,vs2010可以利用code-firstEntityFrameWork插件自动生成出数据库,但是这样生成数据库的缺点是实在是不好控制数据库,对以后的可扩展性不好。

2.dbfirst,这种方式主要是先建好数据库,然后根据数据库,添加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>