ASP.NET 验证未在 JavaScript showModalDialog 调用中执行

标签 asp.net javascript validation modalpopups showmodaldialog

我目前使用 JavaScript .showModalDialog 函数从我的父页面打开一个弹出窗口。弹出窗口包含一些 ASP.NET 验证控件,当用户单击 ASP.NET 按钮提交表单时,这些控件不会显示。如果页面上有错误,则不会显示验证消息,不会在服务器端更新记录,并且弹出窗口会关闭。

(asp.net 验证控件不会阻止弹出窗口执行服务器回发)

有没有人以前遇到过这种行为,有什么办法可以防止吗?

这是我的 showModalDialong 调用源代码:

function OpenChildWindow(id)
{
    var sFeatures = sFeatures="dialogHeight: 525px;";
    sFeatures += "dialogWidth: 900px;";
    sFeatures += "scroll: yes;";
    sFeatures += "status: no;";
    sFeatures += "resizeable: no;";

    var url = "MyPopUp.aspx?ID=" + id;
    var childName = "ChildForm";

    entryWindow = window.showModalDialog(url, childName, sFeatures);

    if (entryWindow == true)
    {
        window.document.getElementById("<%= btnUpdateParent.ClientID %>").click();
    }
}

注意:当弹出模式关闭时,“单击”一个 ASP.NET 按钮以更新父级上的 ASP.NET UpdatePanel 以显示对弹出模式中修改的记录的更改向上窗口。

最佳答案

我认为这可能是由于模态对话框和回发的一个臭名昭著的问题。您可以尝试在使用 window.showModalDialog 打开的页面的 head 标签中添加以下内容

<base target="_self" />

关于ASP.NET 验证未在 JavaScript showModalDialog 调用中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/561568/

相关文章:

.net - 如何停止 .Net HttpWebRequest.GetResponse() 引发异常

asp.net - 将 PDF 文件作为二进制对象存储在 SQL Server 中,是还是否?

jquery - 为什么调用我的 ASP.NET WebMethod 会调用我的错误处理程序?

javascript - 如何通过javascript获取字段的类?

java - 如何检查 Snapchat 帐户是否存在?

jquery - 有没有一种优雅的方式来缓慢升级 jQuery?

javascript - 简单的 Highchart 作为单独的 .js 文件工作,但不在 View 中

javascript - React 条件渲染和导航栏

delphi - 如何确保输入到 TcxDateEdit 的日期在 MinDate/MaxDate 范围内?

javascript - 为什么ClientValidationFunction功能无法正常工作?