ASP.NET MVC简单编程篇(一)

来源:互联网 发布:mac的ae插件怎么安装 编辑:程序博客网 时间:2024/06/06 23:30

 

ASP.NET MVC概念:

ASP.NET MVC 是微软官方提供的MVC模式,说白了,ASP.NET MVC知识开发ASP.NET Web

应用程序的一个框架而已,而且其只是一个表示层框架,同时也是微软的第一个开源项目。

使用ASP.NET开发web应用程序方式

  1. WebForm方式
  2. Asp.Net MVC 方式

注意:WebForm方式和Asp.Net MVC方式是使用asp.net开发web应用程序的两种并行方式,mvc(以下简称mvc)的目的并不是取代WebForm,而是web开发的另外一种选择而已。

MVC模式简介:

MVC模式是一种表现模式。它将web应用程序分成三个主要组件,即:视图(View)、控制器(Controller)和模型(Model)。

M:Model主要是存储或者是处理数据的组件

Model其实是实现业务逻辑层对实体类相应数据库操作,如CRUD(Create/Retrieve/Update/Delete)。它包括数据、验证规则、数据访问和业务逻辑等应用程序信息。

V:View是用户接口层组件。主要是将Model中的数据展示给用户。

C:Controller处理用户交互,从Model中获取数据并将数据传给指定的View

要点:

01.M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

02.控制器隔离了业务逻辑和View耦合,使得业务逻辑和数据规则等很容易改变而不影响到前台页面。

03.View和Controller都可以直接请求Model,但是Model不依赖View和Controller

04.Controller可以直接请求View来显示具体页面,View不依赖Controller

第一个Asp.Net MVC程序

案例:下面我们通过向EFFirst数据库的Customer表中添加数据数据并且将所有用户信息展示到对应页面的方式,来书写第一个Asp.Net  MVC应用程序.

Customer表结构:

CustId(客户编号):主键自动增长

CustName(客户姓名)

CustAddress(客户地址)

01.首先创建MVC2.0的项目

对解决方案点右键,新建项目,如下图

 

将项目名称命名为MyMVC,然后点击确定,如下图

 

选择否,点击确定

 

接下来对项目的目录结构进行剖析:

App_Data;在该文件夹下的文件是不同通过URL访问的,起到保护文件的作用

Content:项目用到的素材和样式等的文件夹,例如我们可以将Image文件夹和Css文件夹放到Content文件夹中。

Controllers:控制器存储文件夹

Models:模型存放文件夹

Scripts:js(javascript)文件存储文件夹

Views:视图存放文件夹

 

02.创建控制器UserInfoController

03.创建视图Register

Register页面对Controller发起请求,请求可以分两种,get和post,所以我们写了两个action 。为了方便后续操作,我们可以对action写一个重载。无参的Register()用来处理get请求 ,带参数的Register(FormCollection collection)用来处理post请求,如下图:

 

然后对无参的Register点右键,选择添加视图菜单项

点击添加按钮,则在Views文件夹中会自动创建出一个名称为UserInfo(和action所在的控制器名称相同)的文件夹,并且在该文件夹下创建一个名称为Register的aspx文件,注意:这里的aspx文件没有后缀名为.cs的文件。

在Register中书写html代码如下所示:

 

既然是注册页面,必须将用户输入的信息提交到服务器,此时我们可以使用form表单。为其action属性设置属性值为:”/UserInfo/Register”,UserInfo代表的是UserInfoController,Register代表UserInfoController下的action。也即是说我们将信息提交到了Register这个action。

用户填写完信息后,流程跳转到了UserInfoController,此时我们可以在接收Post请求的action中书写如下代码,

 

说明:return RedirectToAction(“Index”)作用是跳转到名称为Index的action继续执行。

04.创建action:Index和视图Index

 

用同样的方式对Index点右键,创建View:Index,

   

 1 <style type="text/css"> 2         th,td { 3             text-align: center; 4         } 5     </style> 6     <h2>微冷的雨:用户详细信息页面</h2> 7     <h2>由于顾客的数据肯定会出现多条,因此使用table显示</h2> 8     <table width="100%"> 9         <thead>10             <tr>11                 <td>编号</td>12                 <td>用户姓名</td>13                 <td>用户地址</td>14             </tr>15         </thead>16         <tbody>17            <% foreach (var item in (IEnumerable<Customer>)ViewData["Customer"])18               {%>19                  <tr>20                      <td><%:item.CustId %></td>21                      <td><%:item.CustName %></td>22                      <td><%:item.CustAddress %></td>23                  </tr>24               <%}25                 %>26         </tbody>27     </table>
View Code

 

 

最终我们可以实现如下效果

  

至此,今天的文章结束了。

当前写第一个MVC应用程序还用到了EF的相关知识,如果读者不是很清楚,可以参考本人的http://www.cnblogs.com/weilengdeyu/archive/2013/01/19/2868022.html

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>