zoukankan      html  css  js  c++  java
  • asp.net MVC4在Action间跳转 RedirectToAction 传值参数问题

    return RedirectToAction("Test", new { cw = cw, firstdirectoryid = firstdirectoryid });

    上式中cw是一个对象,按上式传递参数后,在Test中收不到对象cw,但firstdirectoryid可以接收到。

      RedirectToAction函数允许传递一系列的objects,但在实践中发现,这些所谓的objects,并不是真正的objects,调用者 若传递出object reference,接收者得到的都是null。其实,RedirectToAction转移使用的是HTTP协议,只有值变量才能被传递。如果需要传递 objects,可以使用TempData和Session。

    在ASP.NET MVC框架的ControllerBase中存在一个叫做TempData的Property。它的类型为TempDataDictionary,顾名思义是一个字典类。
    TempData在ASP.NET MVC中的作用是:可用于在Action执行过程之间传值。简单的说,可以在执行某个Action的时候,将数据存放在TempData中。
    那么在下一次Action执行过程中可以使用TempData中的数据。
    如:
    1 public ActionResult Index()
    2 {
    3 this.TempData["MyNane"] = "XiaoMing";
    4 return View();
    5 }
    6 public ActionResult Index2()
    7 {
    8 string MyName=this.TempData["MyNane"] as string;
    9 return View();

    所以在Action之间跳转时需要传递值类型的,可以变量就可以,引用类型请使用TempData来传递。

  • 相关阅读:
    OleDbCommand 的用法
    递归求阶乘
    C#重写窗体的方法
    HDU 5229 ZCC loves strings 博弈
    HDU 5228 ZCC loves straight flush 暴力
    POJ 1330 Nearest Common Ancestors LCA
    HDU 5234 Happy birthday 01背包
    HDU 5233 Gunner II 离散化
    fast-IO
    HDU 5265 pog loves szh II 二分
  • 原文地址:https://www.cnblogs.com/lunawzh/p/4818832.html
Copyright © 2011-2022 走看看