0

根据我的应用程序中的某些值,我需要显示带有确定和取消的确认框,如果他们单击确定,它应该继续并导航到另一个页面,否则如果他们单击取消,它应该保持在同一页面中。

我遇到的问题是弹出窗口不显示,除非我添加返回语句如下

  if (true)
        {
         Page.ClientScript.RegisterStartupScript(this.GetType(), 
        "ConfirmBox", "confirm('The numbers selected are not in the directory,"
        + sb.ToString()+
        " you wish to continue?');", true);
                        return;
         }
    Response.Redirect("~/homepage.aspx");

如您所见,这不起作用,因为它永远不会因为返回而到达重定向,但是即使条件为真,如果没有返回,它也会跳过弹出窗口。我怎样才能做到这一点?

4

3 回答 3

1

我遇到的问题是弹出窗口不显示,除非我添加返回语句如下

JavaScript code页面生命周期完成执行所有事件后执行。所以,return 在这里没有任何意义。


纠正措施

将代码(条件和Redirect另一个页面)移动到 JavaScript 函数。在您的RegisterStartupScript.

于 2012-04-16T02:58:29.137 回答
1

我已经尝试过您的代码,并且操作与您相同。我的解决方案为您提供:

<script type="text/javascript">
function Redirect()
{
location.href = "~/homepage.aspx";
}
</script>
<script runat="server">
void yourFunc()
{
if (true)
        {
         Page.ClientScript.RegisterStartupScript(this.GetType(), 
        "ConfirmBox", "if(confirm('The numbers selected are not in the directory,"
        + sb.ToString()+
        " you wish to continue?') == true){Redirect();};", true);
         }
}
</script>

希望它可以帮助你。

于 2012-04-16T03:01:36.903 回答
0

这可能是你的灵魂。这是一个基于来自确认框的用户输入来限制导航的示例。

在这里检查

于 2012-04-16T03:17:37.037 回答