我如何显示弹出/警报,然后显示RedirectToAction()

时间:2012-10-22 09:06:40

标签: jquery asp.net-mvc c#-4.0 razor

我希望显示一个Javascript类型的弹出窗口,提醒用户在继续处理此视图之前必须在先前的视图中填写一些其他数据,然后实际将用户重定向到该视图。

目前我的代码如下: -

        if (viewModel.compData.GG != "")
            CalcGradingPoints();
        else
        {
            Response.Write(@"<script language='javascript'>alert('You have to Select a Grading before doing this calculation');</script>");
            return RedirectToAction("Index", "Grading");
        }

        return View(viewModel);

它正确地重定向,但是我看不到错误消息,所以对于用户来说,就好像他被卡在第一个视图上而没有移动。

如何显示错误消息,允许用户通过单击消息确认他是否看到了消息,然后重定向?

感谢您的帮助和时间

4 个答案:

答案 0 :(得分:1)

您应该使用confirm()功能:http://www.javascripter.net/faq/confirm.htm

用法:

if (confirm("Your question")) { 
 window.location = "http://www.google.com/" //redirect HERE
}

答案 1 :(得分:0)

RedirectToAction是302 HTTP重定向,您永远不会看到Response.Write的任何内容。我也有相同的场景并使用逻辑单独视图创建,我在其中显示消息然后重定向用户。我的模型包含:标题,消息,控制器,操作等。然后,您只需填写视图并创建与@Url.Action的链接。

元例:

<meta http-equiv="REFRESH" content="0;url=http://www.your-link.com">

content =“0;可能会更改为您希望浏览器在重定向之前等待的秒数。

答案 2 :(得分:0)

您可以在ACTION方法中执行警告以通知相同的

答案 3 :(得分:0)

实际上我认为有一种简单的方法可以做到这一点。我采取了不同的方法,并将第一个View上的所有内容设置为默认值,以便第二个View永远不会为空。

感谢您的帮助