我想在 ASP.Net 中使用带有“是/否”选项的 JavaScript 消息框。场景是,当我在按钮的 Client_click 事件上调用 JavaScript 函数时,它工作正常。但是当我从代码隐藏(C#)中调用它时,它会在代码完成执行后弹出。这是我正在尝试的:
protected void Message_Click(object sender, EventArgs e)
{
if (var == 1)
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "open", "Confirm();", true);
}
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('You clicked YES!')", true);
}
else
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Nothing has been selected')", true);
}
}
即使条件var == 1为真,我也没有得到字符串confirmValue的更新值。 但是,如果我在“OnClientClick”上调用它,它就可以正常工作。已经浏览了几乎所有的网址,但还没有运气。
任何帮助将不胜感激。
最佳答案
您的代码将不会等待服务器端的确认值。 Page.ClientScript.RegisterStartupScript将只注册客户端脚本,然后方法执行将完成。它将继续执行下一行代码。服务器不负责处理注册的 javascript 代码。因此,如果您想实现“是/否”确认并等待服务器端,请使用带有自定义代码的 AjaxModelPopupExtender 来满足您的需求。 Here you can get more info on how to use the ajaxmodel pop up extender .
关于javascript - ASP.Net 中的是/否消息框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28536366/