Asp.net mvc 4 从一个控制器发送对象信息';将操作结果发送给另一个控制器';结果如何?
我有两个控制器和两个ActionResults。我正在尝试将对象信息从第一个控制器的ActionResult发送到第二个控制器的ActionResult。因此,我已按以下规定发送了我的对象 1号控制员的行动结果: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”,
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);
}
}