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 回答