c# - asp.net web 表单应用程序中的确认框

标签 c# asp.net webforms

如果用户想在不上传图片的情况下保存,我想通过确认消息框向用户发出警告。

代码在用户点击保存按钮时触发

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

上面的逻辑是为了显示确认框,但它没有显示。

除此之外,如果用户点击了 YesNo 按钮,我该如何捕获?

这样我就可以相应地触发相关代码。

更新:

我可以用下面的代码显示确认框

Page.ClientScript.RegisterStartupScript(this.GetType(), "msgbxConfirm", "confirm('Are you sure?');", true);

但我不确定如何捕获YESNo 事件

最佳答案

要处理确认弹出框的结果 - 检查返回值。

如果单击确定,它将返回 true,否则返回 false。

如:

if(confirm('test')) {
    alert('ok clicked')
} else {
    alert('cancel clicked or closed popup')
}

JSFiddle example code in action

编辑:评论

如果用户在确认对话框中单击确定,要重新提交表单,您需要这样的东西:

代码隐藏:

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>

关于c# - asp.net web 表单应用程序中的确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26465287/

相关文章:

asp.net - 破解 Asp.NET 中的 session 变量

c# - 序列化派生类时不包括 ProtoBuf.net 基类属性

c# - UNITY 3D C# XML 合并

javascript - ASP.NET/WebAPI : $. ajax 有 404 并且 $.getJSON 有未捕获的 RangeError:超出了最大调用堆栈大小

c# - Azure 搜索突出显示带双引号的短语

c# - 将服务引用添加到 ASP.NET 应用程序

c# - 如何处理外部不稳定的代码?

database - Odoo 数据库登录问题?

asp.net - 如何在 ASP.NET webforms 中应用单元测试

javascript - 其他浏览器(包括IE9)不会出现的IE8中的Ext.net脚本错误