将少量数据从一个控制器传递到另一个控制器,我是否使用ViewBag? ViewData的?或会议......等......什么是正确的方法。
e.g。我的第一个[Controller1] / [Action:Register]生成用户ID,然后需要重定向到另一个控制器
返回RedirectToAction(“Create”,“Controller2”);
然后在Create(HttpPost)上,我将数据+加上userid存储到数据库,然后重定向到下一个控制器,它在HttpPost上以相同的方式运行,它将数据+加上userid存储到数据库。
我有点失落应该采取什么方法,如何以安全的方式/正确的方式传递用户ID?,请指教,谢谢
答案 0 :(得分:2)
如果它不是私有的,只需使用重定向中的第三个参数将其传递到url: 新{id = whateverValue}
如果是私有数据,请使用TempData - 在下一个请求读取后将被删除(在请求结束时)
答案 1 :(得分:0)
我相信你可以利用路线值来实现这一目标。这是一个例子:
return RedirectToAction("Create", "Controller2", new { userId = myVar });
有关路线值的更多信息,请查看RouteValueDictionary http://msdn.microsoft.com/en-us/library/system.web.routing.routevaluedictionary.aspx