日期:2014-05-18  浏览次数:20606 次

一个疑问??????????
现做有一页面用来将数据导入到excel表中

页面上有一gridview用来显示要导出的数据,还有有一按钮( "导出excel ")
由于当用户点击 "导出excel ",触发后台事件生导出Excel时,时间比较久,所以想在导出时显示一等待画面

是这样实现的:
我在页面上做了两个Div,div1里放的是平常状态下的显示信息如gridview等,div2放的是等待提示信息,如:正在生成。。。

在按钮事件触发后:先把div1隐藏,div2显示。。。再生成excel文件。。然后把div1显示。div2隐藏。

现在的问题是:
1.
我把显示和隐藏div的脚本放后台按钮事件里执行时,出现示找不到对象的错误(找不到div1和div2),这是为什么?是不是在触发按钮事件后,这些控件还没加载?但是为什么服务端控件能找到呢(这里不能用服务端控件如:panel,因为写在同一方法里,等于没做)?

2.
当我把这些(div1隐藏,div2显示)动作写成脚本方法放在aspx页里,绑定到按钮的OnClientClick。这样可是可以实现效果了(如上描述).但是当生成完,当页面重新显示时,出现的情况是:div1显示,div2隐藏,我并没有设置div1显示,div2隐藏。
这是为什么?是不是在客户端用脚改的控件状态不会回传给服务端?




------解决方案--------------------
回答一:不会出现你说的那种情况。除非你写错代码了。Response.Write( " <div class= 'style2 '> 内容 </div> ");
回答二: 你可以在Page_Load 事情的if(!this.IsPostBack)这个里面设置div1隐藏,div2显示
------解决方案--------------------
1) 分析一下生成的HTML
2)客户端用脚改的控件状态不会回传给服务端!