在Actions之间传递数据

时间:2012-04-03 13:34:03

标签: asp.net-mvc-3

我试图在同一个Controller中将数据从一个Action传递到另一个,但似乎这不起作用。我得到了。如何在控制器之间传递值?

措施1

 ViewData["ProductId"] = productId;

措施2

var productId = ViewData["ProductId"];//Always Null

3 个答案:

答案 0 :(得分:1)

您可以使用this.Session["ProductId"],但这种方法通常不正确,导致难以维护的代码无法扩展。更有可能的是,您应该将其传递给您的视图以呈现为输入字段(用于表单),或用于生成URL(用于链接)。

答案 1 :(得分:1)

您还可以使用TempData分享数据,直到下一次请求。

答案 2 :(得分:0)

你是如何在第一个动作中调用第二个动作的?如果你打电话

RedircectToAction("Acion2"). 

然后您可以通过action属性传递参数,如下所示:

RedirectToAction("Action2", new { productID= ViewBag.ProductId});

public ActionResult Action2(Guid productID)
{
}