現在、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 が更新され、ポップアップ ウィンドウで変更されたレコードへの変更が表示されます。