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. java 引入自定义字体font后出现的硬盘吃光的问题

    有个需求要用美术字体在图片上写字 用自定义的文字有两个方法: 1. Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, InputStream ...

  2. Centos 使用YUM安装MariaDB

    1.在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azureuser@mono etc]$ cd /etc/yum.repos.d [azureuser@mo ...

  3. 一种让 IE6/7/8 支持 media query 响应式设计的方法

    在不同的浏览器宽度下使用不同的 CSS 声明,常见的方案是使用 media query,但这个方案不支持 IE9 以下浏览器. 国外比较流行的 UI 框架 bootstrap v3 版本中使用 med ...

  4. 仿花田:相亲网站 意中人 已在GitHub上开源

    在园友的强烈呼唤下,我还是负责任的分享给大家,因为对代码比较熟悉一下,还是有些问题要说明,不然别人看起来会比较费劲.说实话除了这个bootstrap的界面风格和这件事情本身对大家有吸引力之外,内部的逻 ...

  5. 源文件移动后gdb不显示代码的原因

    源文件移动后gdb不显示代码的原因   问题 我们从一个最简单的C语言程序开始.源文件main.c在 用户目录gdb文件夹下. florian@florian-pc:~/gdb$ cat main.c ...

  6. Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度

    <Windows Azure Platform 系列文章目录> Update 2016-09-28 想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账 ...

  7. 模糊测试(fuzz testing)介绍(一)

    模糊测试(fuzz testing)是一类安全性测试的方法.说起安全性测试,大部分人头脑中浮现出的可能是一个标准的“黑客”场景:某个不修边幅.脸色苍白的年轻人,坐在黑暗的房间中,正在熟练地使用各种工具 ...

  8. 浅谈android中的目录结构

    之前在android游戏开发中就遇到本地数据存储的问题:一般情形之下就将动态数据写入SD中存储,在没有SD卡的手机上就需另作处理了;再有在开发android应用的过程中,总要去调试APP,安装时又想去 ...

  9. Redis命令笔记

    一.string类型:(1)set :设置key对应的值为string类型的value,例:set name helloworld(2)get :获取key对应的值为string类型的value,例: ...

  10. C#实现约瑟夫环问题

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace orde ...