使用 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");
如您所见,这将不起作用,因为它永远不会因为返回而进入重定向,但是如果没有返回,即使条件为真,它也会跳过弹出窗口。我该怎么做?
我已经尝试过您的代码,并且您的操作相同。有我为您提供的解决方案:
<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
中调用函数。
这可能是你的灵魂。 这是一个基于"确认"框中的用户输入限制导航的示例。
在这里查看