在没有会话的情况下将Id从一个ActionResult传递到mvc3中的另一个

时间:2012-08-31 09:09:47

标签: asp.net-mvc-3

如何在mvc3中将Id从一个ActionResult传递到另一个我尝试使用会话,但如何不使用会话概念

我正在使用基于Ajax的Views

My Actionresult 1

public ActionResult A(int id)
{
    Session["mId"] = Id;
    return View();
}

我希望在这里传递

public ActionResult B(int mid)
{
    mId =Convert.ToInt32(Session["mId"]);
    return View();
}

2 个答案:

答案 0 :(得分:2)

我也尽量避免会话。关于您发布的代码的评论,请确保它正确缩进。如果它正确缩进,它很容易阅读。

RedirectToAction方法根据您提供的参数重定向到指定的操作方法。

您的2种操作方法可能如下所示:

public ActionResult A(int id)
{
     // Always check incoming parameters
     // Check that id is not zero or negative

     return RedirectToAction("B", new { mid = id });
}

public ActionResult B(int mid)
{
     // Check that mid is not zero or negative

     // Now you can do with mid what you need to do, for example:
     int myId = mid;

     return View();
}

答案 1 :(得分:0)

您可以使用Controller.RedirectToAction方法

public ActionResult A(int id)
{
//Session["mId"] = Id;
return RedirectToAction("B",new {mid=id});
}