有没有办法将ModelState传递给RedirectToAction 而不使用TempData ?
已更新
我有以下行动:
public ActionResult Index()
{
var model = SettingsService.GetSettings();
return View(model);
}
[HttpPost]
public ActionResult Update(Settings model)
{
if (ModelState.IsValid)
{
SettingsService.UpdateSettings(model);
}
return RedirectToAction("Index");
}
该模型存在服务器验证错误。我想在重定向到Index之后显示错误。
应用程序在云端,它至少有两个WebRoles,每台机器都有自己的会话,因此我不能使用TempData(使用Session)。
答案 0 :(得分:1)
如果您使用Session的功能是阻止,则可以修复。通过一些配置,您可以使用Windows Azure的会话状态提供程序。就共享存储而言,它是无状态的,你的WebRoles也是无状态的。
您可以在此处获取所有说明:http://msdn.microsoft.com/en-us/library/windowsazure/gg185668.aspx
答案 1 :(得分:0)
您可以尝试将ModelState
作为参数传递,或至少复制它或您需要的属性:
RedirectToAction("MyAction",
new System.Web.Routing.RouteValueDictionary() { { "modelState", ModelState } });