C#在win7系统 iis部署asp.net导出excel功能报错

报错:当应用程序不是以UserInteractive模式运行时显示模式对话框或窗体是无效操作。请指定ServiceNotification或DefaultDesktopO... 报错:
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。
展开
 我来答
Ben
2012-11-12 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
解决方法:
因为只有在作为服务进程运行或从 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>”);
军曜坤qN
2012-10-22 · 超过37用户采纳过TA的回答
知道答主
回答量:140
采纳率:0%
帮助的人:64.5万
展开全部
导出excel功能报错跟IIS部署应该没关系吧!你的导出Excel用了什么方法啊?有没有用到模板呀?如果有,网站发布时模板有没有一起生成呢?没有就会报错了。如果是这样,把模板加到发布的对应文件下就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宇宙之心眼
2012-11-12 · TA获得超过623个赞
知道小有建树答主
回答量:610
采纳率:100%
帮助的人:414万
展开全部
32位或64位的问题。建议将导出为Excel功能更改为使用Aspose.Cells导出,而不使用原有的Excel组件。如果实在不能使用,那可以将IIS设置为按32位运行模式运行,或者安装一套64位的Office2010,然后再使用其中的组件也行
追问
不是的~ office2010和win7系统都是32位的
追答
那你是不是调用了Excel的某些界面功能?而造成需要桌面集成?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清影漂泊
2012-11-12 · TA获得超过1327个赞
知道大有可为答主
回答量:3393
采纳率:100%
帮助的人:1886万
展开全部
试试在更新数据集后调用下:ds.AcceptChanges();

话说你不是用了winform的MessageBox来弹出窗口了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
susu098
2012-10-22
知道答主
回答量:39
采纳率:66%
帮助的人:11.2万
展开全部
30分给我吧。。我帮你调
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式