我在研究时发现了这些代码,但它们并不是我真正想要的:
第一个解决方案:
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。任何人都知道如何从这样的确认消息中检索结果吗?
例如:
消息:在阅读时发现一些重复数据,你确定吗 想继续?提示:是/否
答案 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
}