zoukankan      html  css  js  c++  java
  • ASP.NET MVC简单编程篇(一)

     

    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

  • 相关阅读:
    线上一次大量 CLOSE_WAIT 复盘
    etcd 性能优化实践
    Web 前端密码加密是否有意义?
    tmp
    京东 PC 首页 2019 改版前端总结 原创: 何Jason,EC,小屁 凹凸实验室 今天
    http://stblog.baidu-tech.com/?p=1684) coredump调试记录
    Java字节码增强探秘
    dedecms 织梦更改rss的路径、网站地图sitemap的路径
    dedecms时间日期标签大全
    织梦CMS被挂马特征汇总
  • 原文地址:https://www.cnblogs.com/weilengdeyu/p/3134138.html
Copyright © 2011-2022 走看看