C#在win7系统 iis部署asp.net导出excel功能报错
报错:当应用程序不是以UserInteractive模式运行时显示模式对话框或窗体是无效操作。请指定ServiceNotification或DefaultDesktopO...
报错:
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。 展开
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。 展开
展开全部
解决方法:
因为只有在作为服务进程运行或从 Web 应用程序中运行时,它才为 false。当该属性为 false 时,不应显示任何模式对话框或消息框,因为没有供用户进行交互的图形用户界面。
所以可以只能调用response.write的方法用向客户端发送脚本的方法。
例:vbscript脚本:
Response.Write(“<script type=’text/vbscript’>msgbox(‘fasdfdas’)</script>”)
>
Response.Write(“<script type=’text/javascript’>alert(‘fasdfdas’)</script>”)
网上的其他解决办法:
在网上查了一下,发现 “将SystemInformation.UserInteractive属性改为true”就可以了,可是这个东西是只读的,请问哪位高手知道在哪里改?
如果改了会不会出现其他的什么问题!
不要说用Javascript弹出,因为网站已经做完了,工程量很大。拜托各位!
——解决方法——————————————————–
因为MessageBox是属于Winform的,在服务器端执行,也是在服务器上产生对话框
之前你调试的时候是本机当服务器,所以就可以正常运行
——解决方法——————————————————–
改用这个response.write(” <script language=javascript>alert(‘输入需要的文字’) </script>”);
因为只有在作为服务进程运行或从 Web 应用程序中运行时,它才为 false。当该属性为 false 时,不应显示任何模式对话框或消息框,因为没有供用户进行交互的图形用户界面。
所以可以只能调用response.write的方法用向客户端发送脚本的方法。
例:vbscript脚本:
Response.Write(“<script type=’text/vbscript’>msgbox(‘fasdfdas’)</script>”)
>
Response.Write(“<script type=’text/javascript’>alert(‘fasdfdas’)</script>”)
网上的其他解决办法:
在网上查了一下,发现 “将SystemInformation.UserInteractive属性改为true”就可以了,可是这个东西是只读的,请问哪位高手知道在哪里改?
如果改了会不会出现其他的什么问题!
不要说用Javascript弹出,因为网站已经做完了,工程量很大。拜托各位!
——解决方法——————————————————–
因为MessageBox是属于Winform的,在服务器端执行,也是在服务器上产生对话框
之前你调试的时候是本机当服务器,所以就可以正常运行
——解决方法——————————————————–
改用这个response.write(” <script language=javascript>alert(‘输入需要的文字’) </script>”);
展开全部
导出excel功能报错跟IIS部署应该没关系吧!你的导出Excel用了什么方法啊?有没有用到模板呀?如果有,网站发布时模板有没有一起生成呢?没有就会报错了。如果是这样,把模板加到发布的对应文件下就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
32位或64位的问题。建议将导出为Excel功能更改为使用Aspose.Cells导出,而不使用原有的Excel组件。如果实在不能使用,那可以将IIS设置为按32位运行模式运行,或者安装一套64位的Office2010,然后再使用其中的组件也行
追问
不是的~ office2010和win7系统都是32位的
追答
那你是不是调用了Excel的某些界面功能?而造成需要桌面集成?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试在更新数据集后调用下:ds.AcceptChanges();
话说你不是用了winform的MessageBox来弹出窗口了?
话说你不是用了winform的MessageBox来弹出窗口了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
30分给我吧。。我帮你调
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询