我们使用Post / Redirect / Get方法,并且通常为我们的每个Actions创建一个特定的ViewModel,但ReturnUrl总是让我烦恼。什么是保留ReturnUrl的首选方法?
将其添加到ViewBag中,然后重定向,例如
if (!ModelState.IsValid)
{
return RedirectToAction("login", new { ReturnUrl = returnUrl });
}
或
我问的唯一原因是因为默认的Microsoft模板在使用ViewModels的操作上使用ViewBag
答案 0 :(得分:1)
你可以将它存储在两者中,问题是应该你吗?
我会说这取决于项目的复杂程度,有多少人会使用你的代码并扩展它?
另一个观点是概念 - 你的模型是否真实地封装了ReturnUrl,或者你是否将ReturnUrl标记为它,'只是因为'?
如果是后者,那么我会使用ViewBag。