2011-10-01 70 views
0

我已經在我的web應用程序中使用了modalpopup控件,並在打開它後,當我點擊確定按鈕我已經打電話給WCF功能來處理一些功能需求。問題與ModalPopup在asp.net/C#

目前的行爲就像當我點擊OK按鈕時ModalPopup一直保持打開狀態,直到我的WCF操作完成,當它完成時它將被關閉,因爲我寫下邏輯隱藏在代碼後面的文件和我的代碼中下面

<asp:Panel ID="PanelCheck" runat="server" CssClass="modalPopup" SkinID="Custom"> 
     *Panel content here..* 
     <asp:Button ID="OkButton" runat="server" Text="Create" OnClientClick="return 
     ValidateSeconds();" OnClick="OkButton_Click" /> 

    </asp:Panel> 

<cc1:modalpopupextender id="MPE" runat="server" targetcontrolid="lnkTemp" 
popupcontrolid="PanelCheck" backgroundcssclass="modalBackground" /> 

代碼背後

protected void OkButton_Click(object sender, EventArgs e) 
    { 
     if (Page.IsValid) 
     { 
      try 
      { 
       MPE.Hide(); 

        *Logic to deal with WCF call..* 

       } 
      } 
      catch (Exception ex) 
      { 
       throw ex; 
      } 

      timerInstance.Enabled = true; 
     } 
    } 

現在我需要什麼,我需要先關閉modalpopup,然後異步它應該w^CF電話我找不到任何方法來解決這個問題,如果這個問題有任何意義,請任何人都幫助我。

由於提前

回答

0

我相信你可以點擊「創建」按鈕後立即在客戶端隱藏ModalPopupExtender:

<asp:Button ... OnClientClick="return ValidateSeconds();" /> 

function ValidateSeconds() { 
    //your code 
    $find('MPE').hide(); 
    //your code 
} 

另請參見:

How to Show/Hide a ModalPopupExtender using Javascript

+0

我可以使用javascript隱藏modalpopup,但是我的問題是讓wcf異步調用她的用戶界面可以正常工作 –

+0

例如,執行ajax回調並通過jQuery.ajax異步調用WCF服務(不要使回發/不處理按鈕的單擊)。 – Mikhail

+0

嘿米哈伊爾我已經調用WCF異步,但任何其他用戶界面操作將等到這個操作結束,你可以更多地指定你的想法與我。 –