如何在mvc3 razor中将userid从一种方法传递到另一种方法

时间:2014-01-22 06:56:33

标签: c# asp.net-mvc-3 razor

我正在研究MVC 3中的项目。如何将用户的user_id从一种方法传递到另一种方法。 这是我试过的:

 public ActionResult ResetPasswordCode(string resetcode, int userid)
    {
        resetcode = Request.QueryString["code"];
        userid = Convert.ToInt32(Request.QueryString["userid"]);
        var resetuser = _accountUserService.GetAccountUserByResetPasswordCode(resetcode);
        if (resetuser == null)
        {
            if (_accountUserService.SaveResetPasswordCode(resetcode, userid))
            {
                return RedirectToAction("ResetPassword", new { resetCode = resetcode, userid=userid});
            }
        }
        else
            ViewBag.ResetError = NcMessage.NotAcitvated;
        return View("Error");
    }

ResetPassword方法返回允许用户重置密码的视图。 现在我遇到的问题是将user_id发送到更新密码的新方法。

2 个答案:

答案 0 :(得分:0)

mvc3中的第一件事是Actions Methods而非Methods

您可以尝试使用TempData

ResetPasswordCode行动

TempData["userid"]=userid;

然后在ResetPassword操作中使用

访问此内容
   var userId=(int)TempData["userid"];

答案 1 :(得分:0)

您可以使用会话变量

Session["userid"] = userid;

for retrieve

var userid = (int)Session["userid"];

或者如果它们在同一个控制器中,您可以使用静态变量,因此在控制器定义之后

public static int userid;