我试图在同一个Controller中将数据从一个Action传递到另一个,但似乎这不起作用。我得到了。如何在控制器之间传递值?
措施1
ViewData["ProductId"] = productId;
措施2
var productId = ViewData["ProductId"];//Always Null
答案 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)
{
}