使用 Page.ClientScript 从呼叫中获取响应

本文关键字:获取 响应 呼叫 Page ClientScript 使用 | 更新日期: 2023-09-27 18:31:08

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

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

  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");

如您所见,这将不起作用,因为它永远不会因为返回而进入重定向,但是如果没有返回,即使条件为真,它也会跳过弹出窗口。我该怎么做?

使用 Page.ClientScript 从呼叫中获取响应

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

<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>

希望它能帮助你。

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

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


纠正措施

将代码(条件和Redirect移动到另一个页面)移动到 JavaScript 函数。在RegisterStartupScript中调用函数。

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

在这里查看