1.重定向方法简介

  1. [HttpPost]
  2. public ActionResult StudentList( string StudName, string studName, DateTime BirthDay, FormCollection form, string controller,
  3. string Action, StudentModels student)
  4. {
  5. //其中StudName为aspx页面中标签的name属性(StudName不区分大小写)
  6. //其中BirthDay为页面中标签的name属性(类型可自己指定【需转换成功才可以】,这里为DateTime)同样BirthDay不区分大小写
  7. //其中controller,Action为路由信息(controller,Action不区分大小写)
  8. //FormCollection包含了post回来的信息 通过form[]来取值
  9. //如果使用强类型绑定 可通过实体回传值 这里实体为StudentModels
  10. //同样可以使用Request.Form[] Request.QueryString[] Request[] 来取值 不过此Request非WebForm中的Request
  11. 这里的Request是RequestBase抽象类的实例 WebForm中Request是封装类 HttpRequest的实例
  12. #region 到要经过执行controller里方法后 显示出页面。
  13. //return RedirectToAction("Index");//可跳出本controller
  14. //return RedirectToRoute(new {controller="Home",action="Index"});//可跳出本controller
  15. //Response.Redirect("Index");//只能使用本controller下的方法名称。返回值为void
  16. //return Redirect("Index");//只能使用本controller下的方法名称。
  17. #endregion
  18. #region 直接显示出对应的页面 不经过执行controller的方法。
  19. //return View("Index");//非本方法
  20. //return  View("~/Views/Home/Index.aspx");//这种方法是写全路径
  21. #endregion
  22. return View();
  23. }

2.跳出Controller和Area

  在上面的代码中,使用RedirectToRoute(new { contoller="Home", action="Index" })方法可以跳出控制器,访问其他控制器的action,但是,如果是别的Area里面的控制器Action呢?能不能访问呢?答案是:可以。

  这样写就可以:RedirectToRoute(new { contoller="Home", action="Index" , area="MyArea"})。

3.传递参数

  如果要传递参数应该怎么写?

  方法一:

  假设目标Controller里面action参数列表为简单类型,例如:Index(stringname),那么上面的方法可以这样写:RedirectToRoute(new { controller="Home", action="Index", area="MyArea", name="Argo"})。但是这种方法貌似只能传递基本类型,对于自定义的Class或者Model,不能传递。

  方法二:

  1. 通过TempData传递:
  2. //本action中代码</span>
  3. this.TempData["name"]="Argo";
  4. RedirectToRoute(new { contoller="Home", action="Index" , area="MyArea"});
  5. //目标action中代码</span>
  6. string name=TempData["name"].ToString();

ASP.Net MVC Action重定向跳出Controller和Area的更多相关文章

  1. Asp.net Mvc Action重定向总结

    摘自博客园 程晓晖 [HttpPost]        public ActionResult StudentList( string StudName, string studName, DateT ...

  2. 9、ASP.NET MVC入门到精通——Controller(控制器)

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Controller主要负责响应用户的输入.主要关注的是应用程序流,输入数据的处理,以及对相关视图(View)输出数据的提供. 继承自:Sy ...

  3. ASP.NET MVC : Action过滤器(Filtering)

    http://www.cnblogs.com/QLeelulu/archive/2008/03/21/1117092.html ASP.NET MVC : Action过滤器(Filtering) 相 ...

  4. ASP.NET MVC中将数据从Controller传递到视图

    ASP.NET MVC中将数据从Controller传递到视图方法 1.ViewData ViewData的类型是字典数据,key-value 如:ViewData["Data"] ...

  5. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  6. ASP.NET MVC使用Areas后怎样获取Area(区域)的名称

    写此随笔,目的只为今后在ASP.NET MVC项目中再用到Area(区域)时作为备查. 获取当前Area(区域)名称的方法是: ViewContext.RouteData.DataTokens[&qu ...

  7. Asp.net MVC 4新项目中创建area的后续操作

    Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...

  8. [转]ASP.NET MVC 入门4、Controller与Action

    Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据.在ASP.NET MVC Preview5中,将原来的Controller类一分为二 ...

  9. ASP.NET MVC 入门4、Controller与Action

    原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/04/1303672.html Controller是MVC中比較重要的一部分.差点儿全部的业 ...

随机推荐

  1. es6入门教程完整版

    ECMAScript 6入门 <ECMAScript 6入门>是一本开源的JavaScript语言教程,全面介绍ECMAScript 6新引入的语法特性. 作者:阮一峰 授权:署名-非商用 ...

  2. 一步一步学ROP之linux_x64篇

    一步一步学ROP之linux_x64篇 一.序 **ROP的全称为Return-oriented programming(返回导向编程),这是一种高级的内存攻击技术可以用来绕过现代操作系统的各种通用防 ...

  3. 企业IT管理员IE11升级指南【2】—— Internet Explorer 11 对Adobe Flash的支持

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  4. 在C#代码中应用Log4Net(三)Log4Net中配置文件的解释

    一个完整的配置文件的例子如下所示,这个是”在C#代码中应用Log4Net(二)”中使用的配置文件. <log4net> <!-- 错误日志类--> <logger nam ...

  5. 辛巴学院-Unity-剑英陪你零基础学c#系列(二)顺序

    这不是草稿 辛巴学院:正大光明的不务正业.   上一次的教程写出来之后,反馈还是挺多的,有很多都做了修改,也有一些让人崩溃,不得不说上几句.有些人有些很奇怪的地方,你写篇东西,被看了以后不说他感觉怎么 ...

  6. 同一AppDomain内的SharpGL的FrameBuffer会相互影响?

    同一AppDomain内的SharpGL的FrameBuffer会相互影响? 今天做一个试验时,偶然发现了这样一个问题. 以SharpGL的示例项目SimpleDrawingSample为例. 给Fo ...

  7. RabbitMQ Exchange & Queue Design Trade-off

    In previous post, I mentioned the discussion on StackOverflow regarding designing exchanges. Usually ...

  8. Worktile协同特色之一:无处不在的关注

    团队沟通中常见问题 在回答这个问题之前,我们不妨先来思考一下,团队成员之间互相配合沟通的几个问题:1. 任务的执行者在完成这个任务时,如何通知到此任务相关联的其他成员,比如该任务的后续任务执行者?2. ...

  9. addUser

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项

    我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁. 项目中遇到一个需求,需要当某种情况下对记录进行先解 ...