ASP.NET MVC 行为详解

前面分别介绍了MVC中的三个重要部分,而行为,则是其中C-Controller中的重要内容,下面详解一二。

  • 一般继承自Controller类,类Controller继承自ControllerBase,实现了IController接口。
  • Action的本质就是类中的公有方法,可以进行重载,要求参数不同。 如下图,ActionResult 和 public的方法同样可以被直接访问到。
  • 可以接受客户端的Get或Post请求。如果希望某个方法只处理某一种请求,可以在方法钱加特性[HttpGet]或[HttpPost],处理请求时会根据参数进行相应方法的调用。
  • 也可以通过路由规则传递数据。
  • 接收参数 方式一:使用Request根据Key接收Value

方式二:自动装配,在方法的参数位置,定义类型及参数名称,mvc会自动匹配相同名称的属性值,即匹配input的name与对象的属性相同名称的值。

注意:虽然可以直接重载,但是方法会出现选择问题

  • 还可以完成自定义类型的参数的封装
  • 自动装配的要求:参数的名称或对象类型的属性必须与参数的键相同
  • 返回结果
  • 返回类型为ActionResult,是一个抽象类,需要返回具体类型的结果对象 直接或间接继承自ActionResult的类型
  • ViewResult:使用View()可以指定一个页面,也可以指定传递的模型对象,如果没有指定的参数则表示返回与Action同名的页面。
  • ContentResult:使用Content(string content) 返回一个原始字符串
  • RedirectResult:使用Redirect(string url)将结果转到其他的Action
  • JsonResult:使用Json(object data) 将data序列化为json数据并返回,推荐加上JsonRequestBehavior.AllowGet 可以处理Get请求,一般结合客户端的ajax请求进行返回。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Java编程常见问题汇总1

每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题。虽然一般没有什么大问题,但是最好别这样做。另外这里提到的很...

852
来自专栏chenssy

干货分享|Java异常经典14问,你都能答对吗?

异常是在程序执行期间可能发生的错误事件,并且会中断它的正常流程。异常可能来自不同类型的情况,例如用户输入的错误数据,硬件故障,网络连接故障等。

1062
来自专栏Java编程技术

什么是重排序与中断

Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序可以保证最终执行的结果是与程序顺序执行的结果一致,并且只会对不存在数据依赖性的指令进行重排序,...

812
来自专栏测试开发架构之路

堆和栈的区别

一、预备知识—程序的内存分配          一个由C/C++编译的程序占用的内存分为以下几个部分     1、栈区(stack)— 由编译器自动分配释放,存...

2868
来自专栏C/C++基础

段错误之memset对类对象的误用

使用new定义一个DICCUOriginalTask的对象指针之后,使用memset将对象实体置为0之后,在使用delete析构该对象,就会出现莫名其妙的段错误...

1021
来自专栏java一日一条

Java反射在JVM的实现

反射使程序代码能够接入装载到JVM中的类的内部信息,允许在编写与执行时,而不是源代码中选定的类协作的代码,是以开发效率换运行效率的一种手段。这使反射成为构建灵活...

1963
来自专栏Ryan Miao

java并发编程读书笔记(1)-- 对象的共享

1. 一些原则 RIM(Remote Method Invocation):远程方法调用 Race Condition:竞态条件 Servlet要满足多个线程的...

3588
来自专栏博岩Java大讲堂

多线程--同步与锁

2243
来自专栏Ryan Miao

java线程(2)--同步和锁

参考转载:http://rainyear.iteye.com/blog/1734311 http://turandot.iteye.com/blog/17040...

3707
来自专栏IT可乐

Spring详解(三)------DI依赖注入

  上一篇博客我们主要讲解了IOC控制反转,也就是说IOC 让程序员不在关注怎么去创建对象,而是关注与对象创建之后的操作,把对象的创建、初始化、销毁等工作交给s...

2005

扫码关注云+社区

领取腾讯云代金券