MVC4.0 实现单一Action返回多种结果】的更多相关文章

在开发过程中,我们往往会遇到这种情况.例如:展示学生的详细信息页面,加载学生的详细信息局部视图,异步请求学生的详细信息Json数据等等. 一般情况下,我们会写三个不同的action来支撑前台数据的调用,Student(view视图).PartialStudent(Partial视图)和JsonStudent(JsonResult视图).从实现上,我们写的代码没有任何问题,这些功能都是我们想要的,而且代码也很整洁. 但是仔细想想,会发现三个Action执行相同的业务逻辑,唯一的区别只是返回个浏览器…
延续MVC4.0 实现单一Action返回多种结果,我们实现了在一个Action中根据前台请求方式的不同和请求内容的不同返回了多个结果,但是这种返回多个结果的业务逻辑并不通用.如果现在年纪Action也要实现这样的业务逻辑,怎么办?除了复制代码,索性MVC为我们提供了完美的机制,在多个控制器上重用统一的业务逻辑规则:IActionFilter拦截器. 1.定义一个多响应Result拦截器MultipleResponseResultFilter /// <summary> /// 多响应Resu…
1.客户端可以通过HTTP Accept消息头来通知服务器客户端想要什么样的MIME类型数据,例如:application/json则代表告诉服务器想要的是Json数据 2.服务器端撇开客户端的请求类型,自己来定义返回数据类型(封装一个Object的扩展方法) static class ApiExtensioins { public static HttpResponseMessage ToJson(this Object obj) { string str; if (obj is String…
通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return…
Asp.Net MVC4.0 官方教程 入门指南之三--添加一个视图 在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC 3所引入的Razor视图引擎.Razor视图模板文件使用.cshtml文件扩展名,并提供了一个优雅的方式来使用C#语言创建所要输出的HTML.用Razor编写一个视图模板文件时,将所需的字符和键盘敲击数量降到了最低,并实现了快速,…
摘要 项目开发工具:VS2012旗舰版(.NetFrameWork4.5.1),WIN7 64bit,Oracle 11g 服务器环境:Windows Server2008 R2 64bit,.NetFrameWork4.0,Oracle 11g 项目开发环境:.NetFrameWork4.5,MVC4.0,Entity FrameWork5.0,ODT 因为开发环境跟服务器环境不同,会有一些麻烦. 以下要说明的就是在项目开发完成,发布到服务器上时,遇到的一些问题,以及解决方案. 正文 1.首先…
使用MVC4.0的时候,一般遇到会员登录.注册功能,我们都会使用Form认证,给需要身份验证的Action进行授权(需要登录后才能访问的Action添加[Authorize]属性标签),登录.注册的时候给用户添加票据信息,以便可以访问需要身份验证的Action操作或者视图 同时在web.config中我们会看到这样的配置代码,当我们修改loginUrl的值时,会发现当我们未被授权但要访问需要身份验证的视图时,依然会被强制返回Account/Login页面 <authentication mode…
前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是权限验证,即AuthorizeAttribute.这个可以使用在控制器Controller上,也可以使用在Action方法上面,这里最主要的是要介绍怎样将自己的权限验证进行扩展,以及禁止访问的页面转向问题. 下面我们先看一下代码,然后在进行分析,那样就可以事半功倍了,具体代码如下,当然还可以进行验证扩展,那就看你的需要了. /// <summary>      /// 权限验证属性.      /// </…
前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是权限验证,即AuthorizeAttribute.这个可以使用在控制器Controller上,也可以使用在Action方法上面,这里最主要的是要介绍怎样将自己的权限验证进行扩展,以及禁止访问的页面转向问题. 下面我们先看一下代码,然后在进行分析,那样就可以事半功倍了,具体代码如下,当然还可以进行验证扩展,那就看你的需要了.  1     /// <summary>  2     /// 权限验证属性.  3   …
上一篇文章中(跟我一起学习ASP.NET 4.5 MVC4.0(一))我们基础的了解了一下ASP.NET MVC4.0的一些比较简单的改变,主要是想对于MVC3.0来说的.因为这一些列主要是要给ASP.NET MVC初学者,或者还没有使用过MVC的ASP.NET开发者进行培训学习,当然也可以让我温习一下这种开发模式.所以本篇不得不讲解一下Razor的一些语法,以及在ASP.NET MVC开发中的一些技巧和开发方法.由于我在开发中不喜欢使用Entity Framework,所以这里我需要解释一下我…