【发布时间】:2015-06-22 17:01:36
【问题描述】:
在我的 Home 控制器中是 Index() 操作。在Index() 中,我使用当前经过身份验证的用户 ID 从数据库中返回一个用户对象:
return View(db.Users.Find(User.UserId));
正常工作,网址很简单:
然而,在 Home 控制器的其他地方,我在一个单独的操作中修改了当前用户并将其传递回索引视图,使用:
return RedirectToAction("Index", user);
当我这样做时,URL 会被用户模型的序列化版本弄得一团糟:
我想我在重定向动作的方式上做了一些愚蠢的事情,但是我不知道如何解决这个问题。我尝试添加自定义路由,但“?Name=....”仍会附加到该路由。
(编辑)来自其他操作的代码:
public ActionResult ToggleAdministrator()
{
if (Request.IsAuthenticated)
{
var user = db.Users.Find(User.UserId);
user.Administrator = !user.Administrator;
db.SaveChanges();
Response.Cookies.Add(cookie);
return RedirectToAction("Index", user);
}
return RedirectToAction("Index", (User)null);
}
【问题讨论】:
-
请分享您希望用户重定向的操作代码。
-
我已将其添加到问题中。
-
希望我的回答能让您了解如何在 MVC 应用程序中处理重定向。
标签: c# asp.net-mvc asp.net-mvc-5