• ASP.NET MVC (一)——深入理解ASP.NET MVC


    一、ASP.NET与MVC与WEBFORMS区别

    1、ASP.NET是创建WEB应用的框架

    2、MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC

    3、原来的ASP.NET称为 ASP.NET Webforms

    二、ASP.NET Web Form

    1、概念

    使用VS,开发人员能够通过拖拽UI元素,并在后台自动生成这些界面的代码。称为后台代码。在后台代码中开发人员可以添加操作这些UI元素的逻辑代码。

    微软的可视化RAD架构体系有两方面组成,一方面是UI,一方面是后台代码。因此ASP.NET Web 窗体,包含ASPX和ASPX.CS,WPF包含XAML/XAML.CS等。

    备注:UI元素:面向对象程序设计平台上的各类控件.(如:菜单编辑框等)

    2、存在的问题

    (1)响应时间过长。需要把控件转换为HTML代码,进行逻辑转换,消耗时间

    (2)带宽消耗过大。HTML消耗,控件需要转化为HTML代码;后台代码类,不能被重复实例化应用;单元测试,无法自动测试,只能手动测试;

    3、解决方案

    将后台代码迁移到独立的简单的类库,并且拜托ASP.Net服务器控件,并写一些HTML示例。

    三、Microsoft Asp.Net MVC

    1、WebForm体系结构包含包含3层体系结构,UI,业务逻辑以及包含数据访问的中间层

    2、Asp.Net MVC 由Model,View,Controller三部分组成。Controller中包含后台代码逻辑,View是ASPX,如纯HTML代码,Model是中间层。

    3、ASP.NET MVC 请求流的通用步骤:

    Step 1:首先获取控制器。

    Step 2:依赖行为控制器创建Model对象,Model通过转换调用数据访问层。

    Step 3:数据填充Model之后,传递到View 显示层,实现显示的目的。

    四、创建MVC

    1、打开Visual studio 2013 点“文件”->新建->项目。

    2、 选择Web 应用,输入项目名称,选择存放路径,点击确定。

    3、选择MVC 模板

    4、选择Change Authentication(改变授权),弹出对话框中选择“No Authentication”,并点击确定。

    5、在资源管理器中,右击controller文件夹,选择添加->Controller(控制器)

    6、 选择空 MVC 5 Controller 并点击添加

    7、输入控制器的名称”TestController“,点击添加。

    在这一步骤中,要特别注意千万不能删除名称中的” Controller”关键字。名称中必须包含Controller关键字。

    8、创建行为方法

    打开Controller 类,可以发现已生成的Index 方法,将该方法删除,创建Public方法

    五、Asp.Net MVC的Controller(控制器)

    1、Action 方法 简单的来说就是一个Controller内置的public类型的方法,能够接收并处理用户的请求,上例中,GetString 方法返回了一个字符串类型的响应。

    注意:在Asp.Net Web Forms中默认的返回请求是HTML的,如果需要返回其他类型的请求,就必须创建HTTP 处理器,重写内容类型。这些操作在Asp.net中是很困难的。在Asp.net MVC中是非常简单的。如果返回类型是”String“直接返回,不需要发送完整的HTML。

    2、Action 方法中返回对象值与定义的类的名字一样,将调用ToString()方法,返回“NameSpace.ClassName”形式的类名。

    3、

    如果需要获得上面例子中的属性值,要如何操作?

    简单重写类的“ToString”方法,如下:

       1:  public override string ToString()
       2:  {
       3:       return this.CustomerName+"|"+this.Address;
       4:  }

    5. Action 方法是否只能用Public修饰符来修饰?

    答案是肯定的,每个公有方法都会自动称为Action 方法。

    6. 非public方法是什么?

    类的方法都比较简单,并且并不是公共可用的。无法在Web中调用。

    7. 如果我们需要其他函数来完成一些特定功能,但不是Action Method要如何实现?

    使用NonAction属性修饰,

    如下:

           1: [NonAction] 

       2:  public string SimpleMethod()
       3:  { 
       4:     return "Hi, I am not action method";
       5:  }
  • 相关阅读:
    struts2.0利用注解上传和下载图片
    hibernate @ManyToOne
    Cookie会话管理
    ServletContext
    Servlet 1
    ArrayList
    BigInteger类和BigDecimal类
    Math类
    System类
    基本类型包装类
  • 原文地址:https://www.cnblogs.com/fengsantianya/p/5885509.html
Copyright © 2020-2023  润新知