C# 表单完成后重定向到临时视图,然后重定向到另一个视图
我有一个简单的控制器:C# 表单完成后重定向到临时视图,然后重定向到另一个视图,c#,asp.net-mvc,asp.net-mvc-4,redirect,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) {
//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();
}
我正在寻找一种惯用的方式,在表单发布后(比如5秒钟)向用户显示完成的视图,然后重定向回(比如)Index/Home。NET是否提供了任何本机方法来实现这一点
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>
$(文档).ready(函数(){
setTimeout(函数(){
window.location.href=“@Url.Action(“SubmitTag”)”
}, 5000);
});
上面的脚本将使浏览器请求提交动作。5000是触发URL更改代码之前的等待时间(毫秒)
您需要在已完成的视图中包含此类脚本。在我询问此问题后不久,我意识到在服务器已呈现视图之后,让服务器重定向没有任何意义。