如何在asp.net程序集中添加winform的选择框(确定,取消)

来源:互联网 发布:java xulrunner 编辑:程序博客网 时间:2024/06/05 10:46
        单纯的在winform中弹框其实是蛮简单的,下面我就来介绍一下弹winform窗口的,
               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中弹窗使用。

0 0
原创粉丝点击