我正在尝试制作一个 3 页的注册向导,但我不确定如何在页面之间传递数据。
起初我尝试使用 return RedirectToAction("New", "Authentication", newUser);
,
其中 newUser
是包含初始首页信息(这是他们的 OpenId 标识符和提供商提供的任何额外元数据)的用户实例。
当我这样做时,我注意到所有数据(存在的)都在查询字符串 HEADER 中:
Request URL:http://localhost:1200/Account/New?UserId=0&OpenIds=System.Collections.Generic.List%601%5BSystem.String%5D
Request Method:GET
Status Code:200 OK
这让我担心它可能会受到严重的攻击/滥用,特别是如果有 openId 标识符(更不用说 OpenId 值不正确,它没有正确序列化 IList<string>
。)
那么大家有什么建议吗?
最佳答案
我最终使用 TempData
来存储请求之间的数据。我还使用了 TempData.Keep()
来确保当我需要显示一些错误消息时,它对另一个错误处理请求具有粘性。
关于c# - 使用 ASP.NET MVC3 处理注册向导的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5166864/