3

モーダルポップアップが表示されたときに、データを保存する処理を一時停止するにはどうすればよいですか? そのモーダルポップアップ内のボタンをクリックすると、データの保存の実行が引き続き処理されます。

私のモーダルポップアップはメッセージボックスのように機能しています...

ここに私のサンプルコードがあります:

bool overlap= false;
foreach (ListItem item in chkMBoxEmployeeList.Items)
{
    if (overlap == true)
    {
      //Saving of data 
    }
    else if (overlap == false)
    {
       ModalpopupExtender2.Show();
       //In this condition, I will pause the execution of saving the data
    }
}

//I used this after the ModalpopupExtender2.Show():
return;

//but I think, this will not be the answer, because my code will become very long if use that.  I will rewrite again my code in the button in modalpopup if I use that.

スレッディングを使用する必要がありますか? スレッド化はASP.Net で動作していますか?

4

1 に答える 1

0

保存プロセスはサーバーで行われていますが、モーダル ダイアログはクライアントに表示されます。ブラウザのユーザーが応答するまでサーバーを待機させることはできません。代わりに、サーバーの処理を終了して、変更されたページをブラウザーに送信する必要があります。これで、ブラウザは確認とともにすべてのデータを再度送信します。ASP.NET WebForms を使用しているので、このようなシナリオでは状態が自動的に処理されるので幸運です。

public void Save(bool confirmed)
{
    if (!confirmed && NeedsConfirmation())
    {
        ShowModalWindow();
        return;
    }

    // here perform the operation.
}

public void ButtonSave_Click(object sender, EventArgs e)
{
    // this is the button that is normally displayed on the form
    this.Save(false);
}

public void ButtonConfirm_Click(object sender, EventArgs e)
{
    // this button is located within the modal dialog - so it is not shown before that.
    this.Save(true);
}
于 2013-01-28T12:11:23.427 に答える