本帖最后由 jackcheng1021 于 2013-12-03 12:54:02 编辑

解决方案 »

  1.   

    SaveFileDialog 
    ===================
    太久没接触WindowsForm和asp.net服务器控件了。印象中这个组件是WindowsForm的东西。Web有?
    如果没有的话。那楼主简直就是瞎套了。。Web的东西你能用WindowsForm的东西吗?
    两个组件的实现机制是不一样的,一个是由操作系统的底层进行支持,另外一个是靠浏览器去支持。那就是狗屁不通。
    弹出Web保存,你应该是“告知客户端的浏览器进行识别当前输出的httphead是属于哪类型,是应该下载呢还是解析成网页等等。建议你去查询下”asp.net 下载”关键词
      

  2.   

    可用的,在web下可用,只要引用 using System.Windows.Forms就可以了。我都测成功了,弹出对话框都正常,就是获取不到路径。
      

  3.   

    Quote: 引用 5 楼 jackcheng1021 的回复:

    可用的,在web下可用,只要引用 using System.Windows.Forms就可以了。我都测成功了,弹出对话框都正常,就是获取不到路径。
    ===================
     如果可用,为什么会不正常?Web程序的部署是在远程服务器,换句话说是在别人的电脑上面的一个“程序”。你说别人电脑的程序可以有权限随便调用你电脑的.net framework吗?换句话说普通的html代码可以跨过浏览器访问你电脑的一些底层东西?
    那不是乱套了?
    如果可用,那还分啥Windows.Forms跟System.Web 这两个命名空间?干脆合并得了。。微软人不是无聊?
      

  4.   

    那是因为你在初学时,没有搞明白什么叫做web服务器。你仅仅在你的单机上去“测试”,而还没有想过要真正分布测试。如果你的asp.net程序仅仅在你的服务器上访问,你捣乱使用aspnet干什么呢?直接使用你的winform吧。如果你的asp.net已经放在web服务器上,你又怎么让winform运行在千里之外的浏览器端?
      

  5.   

    等你弄懂了什么叫web,你就会对你的问题感到无比羞愧。
      

  6.   

    大家说的是,我理解上有问题,这么说我想在服务端创建一个SQl备份 *.bak文件,生成备份的后台方法之前就已经写好,那是winform下的。我想在web下也可以调用吧。在服务端怎么写?调用的代码如下:
    /// <summary>
            /// 数据库备份,备份成功则返回-1
            /// </summary>
            /// <returns>返回操作结果</returns>
            public int Backup(DBManager db, string path)
            {
                try
                {
                    string sql = "backup database EduDB to disk = '" + path + "' with format";
                   T_LogFile.SystemLog(this.ToString() + "   " + sql);
                    return db.Backup(sql);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }