0

将少量数据从一个控制器传递到另一个控制器,我是否使用 ViewBag?查看数据?或会话...等...什么是正确的方法。

eg My First [Controller1]/[Action: Register] 生成用户ID,然后需要重定向到另一个控制器

return RedirectToAction("Create", "Controller2");

然后在创建(HttpPost)上,我将数据 + 加上用户 ID 存储到数据库,然后重定向到下一个控制器,它在 HttpPost 上的行为方式相同,它将数据 + 加上用户 ID 存储到数据库。

我有点迷茫我应该采取什么方法,我如何以安全的方式/正确的方式传递用户ID?请指教,谢谢

4

2 回答 2

2

如果它不是私有的,只需使用重定向中的第三个参数在 url 上传递它:new {id=whateverValue}

如果它是私有数据,请使用 TempData - 它将在下一个请求读取它后被删除(在请求结束时)

于 2011-12-02T23:25:58.900 回答
0

我相信您可以利用路线价值来实现这一目标。这是一个例子:

return RedirectToAction("Create", "Controller2", new { userId = myVar });

有关路由值的更多信息,请查看 RouteValueDictionary http://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary.aspx

于 2011-12-02T23:27:55.367 回答