[英]Javascript Confirm box redirection in asp.net web application?
[英]Confirm box in asp.net web form application
如果要保存而不上传图像,我想给用户警告并带有确认消息框。
用户单击保存按钮时代码触发
if (string.IsNullOrEmpty(obj.Image)) {
obj.Image= null;
//Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "alert('Please Upload Image!');", true);
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "confirm('Are you sure you want to save without uploading images?');", true);
}
上面的逻辑是用于显示确认框,但不显示。
除此之外,如果用户单击“ Yes
或“ No
按钮,如何捕获?
这样我就可以相应地触发相关代码。
更新:
我可以使用以下代码显示确认框
Page.ClientScript.RegisterStartupScript(this.GetType(), "msgbxConfirm", "confirm('Are you sure?');", true);
但我不确定如何捕获YES
或No
事件
要处理确认弹出框的结果-检查返回值。
如果单击确定,它将返回true,否则将返回false。
例如:
if(confirm('test')) {
alert('ok clicked')
} else {
alert('cancel clicked or closed popup')
}
编辑:评论
如果用户在确认对话框中单击“确定”,则要重新提交表单,这是您需要的:
代码背后:
Page.ClientScript.RegisterStartupScript(
this.GetType(),
"msgbxConfirm",
"doConfirm();",
true
);
aspx页面:
<script type=text/javascript>
function doConfirm() {
if(confirm('Are you sure?') {
document.getElementById(<id_of_form_submit_button>).click();
}
}
</script>
我在这里添加的一件事,您无法在服务器端代码中获得确认结果,您必须在JS端编写该代码。 因此,为了更好地维护它,可以在aspx中使用以下JS。
function ConfirmAndExecute()
{
if(confirm("Are you sure?"))
{
OnConfirm();
}
else
alert("you missed !")
}
function OnConfirm()
{
// JS Code to handle post confirm operation
}
在服务器端page_load中,使用以下代码。
Page.ClientScript.RegisterStartupScript(this.GetType(), "msgbxConfirm", "ConfirmAndExecute();", true);
您也可以只添加一个onclick客户端脚本事件句柄,以防止提交表单,除非确认为真,否则您不必处理脚本注册。 只需将以下代码添加到您的asp:button
定义中
<asp:Button id="btnSave" Text="Save" runat="server" OnClientClick="return confirm('Are you sure?');" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.