如何从控制器向_layout.cshtml发送数据?

时间:2015-05-23 15:53:38

标签: asp.net-mvc asp.net-mvc-4 razor

我需要将用户的ID发送到_layout.cshtml,但我无法通过viewbag或型号。我该怎么办?

我是否需要专门发送给_layout?这是我的行动方法:

public ActionResult validate()
{
    List<user> list = cx.users.ToList<user>();
    user u = new user();
    u.username = Request.Form["username"];
    u.password = Request.Form["password"];
    for (int i = 0; i < list.Count; i++)
    {
        if (list[i].username == u.username && list[i].password == u.password)
        {
            ViewBag.x = list[i].Id;
            return RedirectToAction("index", "Home",  list[i]);
        }
    }
    return RedirectToAction("login");
}

1 个答案:

答案 0 :(得分:1)

改用TempData。 ViewBag在重定向上被删除(因为它应该是 - 重定向是一个新的请求)。托管在多个服务器上时,必须注意TempData的可靠性。