Eri*_* J. 1 refresh asp.net-mvc-2
我有一个ASP.Net调查问卷应用程序,它将数据重新提交到同一页面,每次都显示一个不同的问题.有BACK和NEXT按钮可以在问题之间导航.
我想检测何时提交表单是因为浏览器刷新而不是按下其中一个按钮.我遇到了一个WebForms方法,但不知道如何在MVC 2应用程序中应用这些主体,因为页面事件不可用(据我所知......我对微软的MVC模型很新).
如何将该原则应用于MVC 2?有没有更好的方法来检测刷新?
你可以使用post-post-post模式TempData
.例:
TempData
并重定向到另一个控制器操作,该操作将验证数据是否在TempData
并返回视图TempData
您知道用户按下F5并且没有通过表单提交.并说明这一点:
public class HomeController: Controller
{
public ActionResult Index()
{
var state = TempData["state"];
if (state == null)
{
// the user directly arrived on this action without passing
// through the form submission
}
return View();
}
[HttpPost]
public ActionResult Index(string back)
{
TempData["state"] = new object();
return RedirectToAction("Index");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4480 次 |
最近记录: |