0

我希望显示一个 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

4 回答 4

1

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

用法 :

if (confirm("Your question")) { 
 window.location = "http://www.google.com/" //redirect HERE
}
于 2012-10-22T09:14:03.543 回答
0

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

元示例:

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

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

于 2012-10-22T09:27:13.510 回答
0

您可以在 ACTION 方法中发出警报以通知相同

于 2012-10-22T09:30:49.003 回答
0

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

谢谢你的帮助

于 2012-10-22T11:33:08.763 回答