在ASP.NET中显示确认消息框c#

时间:2011-11-22 02:39:47

标签: c# asp.net deployment

我在研究时发现了这些代码,但它们并不是我真正想要的:

第一个解决方案:

private void MsgBoxConfirmDelete(string sMessage)
{
    string msg = "<script language=\"javascript\">";
    msg += "var conf = confirm('Are you sure you want to delete this image?');";
    msg += "  if(conf == true){ (alert(....));}";
    msg += "</script>";
    Response.Write(msg);
}

第二个解决方案:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    ClientScriptManager CSM = Page.ClientScript; 
    if (!ReturnValue()) 
    { 
        string strconfirm = "<script>if(!window.confirm('Are you sure?')){window.location.href='Default.aspx'}</script>"; 
        CSM.RegisterClientScriptBlock(this.GetType(), "Confirm", strconfirm, false); 
    } 
} 
bool ReturnValue() 
{ 
    return false; 
}

我发现的大多数解决方案都是“onclientclick / onclick”,但我需要的是在运行我的方法时显示一条确认消息,这有点“IN BETWEEN”。因此,我非常需要IF / ELSE。任何人都知道如何从这样的确认消息中检索结果吗?

例如:

  

消息:在阅读时发现一些重复数据,你确定吗   想继续?提示:是/否

3 个答案:

答案 0 :(得分:1)

对异步请求处理进行一些研究。客户端Web代码需要回调服务器以检索数据处理过程的更新“状态”。服务器代码可以发回一般状态(即完成200条记录中的15条),或者它可以发回信号以提示用户进行确认。

答案 1 :(得分:0)

使用ModalPopupExtender(ajax控件)。 按钮单击显示弹出窗口。 在Control中,将targetControlID提供给具有您要显示的消息的容器以及两个用于确认的按钮。

答案 2 :(得分:-1)

我在网上找到了这个教程,似乎行为正确:

            if (MessageBox.Show("Are you sure you want to delete this list and it's related jobs? There is no going back!","Confirm delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
               // a 'DialogResult.Yes' value was returned from the MessageBox
               // proceed with your deletion
            }