Asp.net mvc 4 从一个控制器发送对象信息';将操作结果发送给另一个控制器';结果如何?

Asp.net mvc 4 从一个控制器发送对象信息';将操作结果发送给另一个控制器';结果如何?,asp.net-mvc-4,Asp.net Mvc 4,我有两个控制器和两个ActionResults。我正在尝试将对象信息从第一个控制器的ActionResult发送到第二个控制器的ActionResult。因此,我已按以下规定发送了我的对象 1号控制员的行动结果: public class A : Controller { [HttpPost] public ActionResult Create() { MyClass MyObject = new MyClass() { ID=123,Name=”MyName”,

我有两个控制器和两个ActionResults。我正在尝试将对象信息从第一个控制器的ActionResult发送到第二个控制器的ActionResult。因此,我已按以下规定发送了我的对象

1号控制员的行动结果:

public class A : Controller
{
[HttpPost]
    public ActionResult Create()
    {
      MyClass MyObject = new MyClass() { ID=123,Name=”MyName”, CreatedDate=DateTime.Now};

      return RedirectToAction("Index", "B", MyObject);
    }
}

第二控制员的行动结果

public class B : Controller
{
[HttpGet]
    public ActionResult Index(MyClass MyObject)//Getting Null here?
    {   
       // Some Code goes here using MyObject
       return View(MyObject) 
    }
 }

第二个控制器的(B)ActionResult(索引)每次使用空值获取?如何在控制器B中获取控制器A的对象详细信息?

由于重定向的性质,您的代码无法工作-
RedirectToAction
使用
get
操作。 使用
httpget
可以在URL中发送一些参数,但不能发送对象(如
POST

如果要通过控制器和方法发送对象,可以使用
TempData
。 试试这个:

public class A : Controller
{
    [HttpPost]
    public ActionResult Create()
    {
      MyClass MyObject = new MyClass() { ID=123,Name=”MyName”, CreatedDate=DateTime.Now};

      TempData["myobj"] = MyObject;
      return RedirectToAction("Index", "B");
    }
}


public class B : Controller
{
    [HttpGet]
    public ActionResult Index()
    {   
       MyObject model = TempData["myobj"] as MyObject;
       return View(MyObject);
    }
 }