根据我的应用程序中的某些值,我需要显示确认框,单击“确定”和“取消”,如果单击“确定”,则应继续并导航到另一个页面,否则如果单击取消,则应保持相同页。
我遇到的问题是弹出窗口没有显示,除非我按如下方式添加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");
正如你所看到的那样,这将无法工作,因为它永远不会因为返回而进入重定向,但即使条件为真也没有返回,它会跳过弹出窗口。我怎么能这样做?
答案 0 :(得分:1)
我遇到的问题是弹出窗口没有显示,除非我添加 return语句如下
Page Life Cycle执行完所有事件后,JavaScript code
将被执行。所以,返回在这里没有任何意义。
纠正措施
将代码(条件和Redirect
移动到另一个页面)到JavaScript函数。在RegisterStartupScript
。
答案 1 :(得分: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>
希望它可以帮到你。
答案 2 :(得分:0)