表单完成后重定向到临时视图,然后重定向到另一个

时间:2014-01-28 15:50:50

标签: c# asp.net-mvc asp.net-mvc-4 redirect

我有一个简单的控制器:

 //Begin MakeBooking
        public ActionResult MakeBooking()
        {
            return View(new Appointment() { Date = DateTime.Now });
        }
        [HttpPost]
        public ActionResult MakeBooking(Appointment appt)
        {
            //repository stuff
            return View("Completed",appt);
        }
        //End MakeBooking

        public ActionResult Index()
        {
            return View();
        }

我正在寻找一种惯用的方式,在表单发布后向用户显示已完成的视图,比如说五秒钟,然后重定向回到Index / Home。 .NET是否提供了任何本地方式来执行此操作?

1 个答案:

答案 0 :(得分:1)

  

.NET是否提供了任何本地方式来执行此操作?

不,但你当然可以使用jQuery setTimeOut函数来达到你的要求。作为示例,请在下面找到脚本 -

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
    $(document).ready(function () {
        setTimeout(function () {
            window.location.href = "@Url.Action("SubmitTag")"
        }, 5000);
    });
</script>

上面的脚本将使浏览器请求SubmitTag操作。 5000是URL更改代码触发之前的等待时间(以毫秒为单位)。

您需要在“已完成”视图中使用此类脚本。