2009-02-18 68 views
2

我目前使用JavaScript .showModalDialog函數從父頁面打開彈出窗口。彈出窗口包含一些ASP.NET驗證控件,當用戶單擊ASP.NET按鈕提交表單時不會顯示這些控件。如果頁面上有錯誤,則不顯示驗證消息,記錄在服務器端不會更新,並且彈出窗口關閉。ASP.NET驗證不在JavaScript showModalDialog中調用

(在asp.net驗證控件不從做服務器回傳阻止彈出窗口)

有沒有人expereinced這種行爲之前,是有什麼辦法可以預防?

這裏是我的電話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顯示彈出窗口中修改記錄的更改。

+0

打開直供一些代碼在解決您的問題將有助於該頁面的頭標記加入以下。 – Phaedrus 2009-02-18 15:55:30

+0

我用showModalDialog源代碼更新了問題。 – 2009-02-18 16:03:17

回答

1

我認爲這可能是由於模態對話框和回發的臭名昭着的問題。你可以嘗試在你window.showModalDialog

<base target="_self" />