System.Windows.Forms.DialogResult result =
System.Windows.Forms.MessageBox.Show("你确定要删除吗?", "是否删除",
System.Windows.Forms.MessageBoxButtons.OKCancel);
if (result == System.Windows.Forms.DialogResult.OK) //*确认了*/
{
//确认后的代码;
Log.WriteSCHLog(Session["LoginName"].ToString() + "删除操作!");
}
else
{
//取消得代码
Log.WriteSCHLog(Session["LoginName"].ToString() + "取消删除操作");
return;
}
这样,在VS运行的时候就能弹出一个对话框(这里就不放图了),
但是。。。。
这仅仅是在本机运行的时候,然后部到IIS上面的时候,就会报错。然后弹窗是不会弹出来的
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。
这是为什么呢?
因为MessageBox是属于Winform的在服务器端执行也是在服务器上产生对话框 ,调试的时候如果是本机当服务器就可以正常运行
但是部署到iis上面,本机不是服务器了,当然也就不会弹窗了。
SystemInformation.UserInteractive属性
获取一个值,该值指示当前进程是否在用户交互模式中运行。
如果 UserInteractive 属性为 false 时,则不显示任何模式对话框或消息框,原因是没有供用户进行交互的图形用户界面。
并且仅当从服务进程或从 Web 应用程序调用时,此属性才为 false。所以在iis上面调用时,她的属性值恒为false。
注意:
此属性仅在下面的平台上受支持:Windows NT 3.51 或更高版本、Windows 2000、Windows XP 和 Windows Server 2003 系列。
所以,在web中使用Message.Show()以及SaveFileDialog类
是不会弹框的。
那web中怎么弹窗呢?一个很简单的方法就是
javascript:return confirm('你确定删除吗?')
但是因为业务复杂性,也会有这样或者那样的问题,下一篇,我将详细介绍js中弹窗使用。