Проблема с ModalPopup в asp.net/C# - PullRequest
0 голосов
/ 01 октября 2011

Я использовал управление modalpopup в своем веб-приложении, и после открытия его, когда я нажимаю кнопку ОК, я выполняю вызов функции WCF, чтобы справиться с некоторыми функциональными требованиями.

В настоящее время поведение выглядит следующим образом: когда я нажимаю кнопку ОК, 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, а затем выполнить асинхронный вызов WCF Я не смог найти никаких способов сделать это, пожалуйста, помогите мне, если этот вопрос имеет смысл.

Заранее спасибо

1 Ответ

0 голосов
/ 01 октября 2011

Я полагаю, что вы можете скрыть ModalPopupExtender на стороне клиента сразу после нажатия кнопки «Создать»:

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

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

См. Также:

Какпоказать / скрыть ModalPopupExtender, используя Javascript

...