如何在ASP中使用模态弹出控件?NET类似于WinForms消息框

本文关键字:NET 控件 类似于 WinForms 消息 ASP 模态 | 更新日期: 2023-09-27 18:02:15

我正在构建一个表单,其中必需的字段验证必须已检查。我不使用asp验证器。我使用JQuery验证器,如

函数checkRequiredInputs () {

$("#frmSaleSubmissionInfo").validate({  
    rules:{
        txtFName:{required: true},
        txtLName:{required: true},
        txtAddress:{required: true},
        txtPhone:{required: true}
    },
    messages:{
        txtFName:"Enter Name",
        txtLName:"Enter Name",
        txtAddress:"Enter Address",
        txtPhone:"Enter Phone Number"
    }
});

这是我的客户端验证。我在我的代码页面后面使用c#。现在,如果我在浏览器中关闭allowjavascript选项,据我所知,它将不允许javascript。所以我也做服务器端验证所需的字段。但是,由于ASP。. NET没有消息框控件,我很难让用户知道他保持空的字段。是否有任何方法可以使用像消息框这样的控件来显示或让用户知道成功填写表单需要哪些字段?

如何在ASP中使用模态弹出控件?NET类似于WinForms消息框

在我看来,最适合您的要求是使用ASP。. NET AJAX工具箱ValidatorCallout控件,它可以帮助您更快速地构建这样的解决方案。

但是如果你不想把两个javascript框架(ASP. js)混在一起。. NET AJAX和jQuery),您可以在这里过期,在这里您可以找到如何处理验证和jQuery的解决方案。

如果你想要一个模态弹出窗口,只需从服务器代码发送一些javascript:

Response.Write(
    "<script type='text/javascript'>alert('A required field is missing.');</script>");

alert()是一个javascript函数。Response.Write()<script>元素添加到HTTP响应的末尾(即呈现的HTML页面)。

更优雅的方法是使用ClientScriptManager来注册一个启动脚本:

protected void Page_Load(object sender, EventArgs e) {
    this.ClientScript.RegisterClientScriptBlock(this.GetType(), 
        "RequiredFieldValidationScript", 
        "alert('A required field is missing.');", 
        true);
}

javascript代码alert('A required field is missing.');将在回发后执行。

参见:https://web.archive.org/web/20210417085026/https://www.4guysfromrolla.com/articles/021104-1.2.aspx

没有javascript,我无法想象一个简单的方法来重新创建一个模态类型的弹出框。您将不得不回发并重新呈现页面,并使用DIV遮挡页面,并在其顶部使用另一个带有错误的DIV。

你可以把错误输出到提交按钮旁边的标签中,然后就结束了。