假设我有一个简单的ASP MVC3 list 控制器,带有 add 方法,带有id参数。
列表:
http://localhost/MVCAPP/ListFoo/
添加方法
http://localhost/MVCAPP/ListFoo/Add?id=1
在我的添加方法中,我使用添加的元素更新 Viewmodel ,然后调用:
return View("ListFoo", viewModel);
显示更新的列表,一切都很好。
问题是,通过这样的返回,地址栏中的URL仍然是
http://localhost/MVCAPP/ListFoo/Add?id=1
如果用户点击F5,将添加另一个项目,我想阻止。
我知道我可以在控制器中过滤掉这样的行为,但我更愿意将浏览器地址栏重定向到:
http://localhost/MVCAPP/ListFoo/
你知道怎么办?
顺便说一下,我不确定试图控制地址栏内容是查看这个问题的正确方法......
答案 0 :(得分:3)
在控制器中完成工作后,使用Action.RedirectToAction method重定向客户端。
除此之外,您可以使用POST作为FormMethod将数据发送到服务器。
答案 1 :(得分:2)