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

Response.write的问题
我有一个aspx页面,上面有三个控件,一个file控件,一个button,一个label。
点击button时,实现上传文件到数据库。并且会刷新父页面。我想在点button时让label的visible属性有原来false改为true,但是点击button时,lable并不可见。目的就是想在用户上传等待的时候给他一个提示,Please   wait   while   file   uploading   ...
button下的代码如下
label1.visible=true
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

写入数据库,省略n行
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
      Dim   scriptString   As   New   StringBuilder()
      scriptString.Append( " <script   language   =   javascript> ")
      scriptString.Append( "window.opener.refresh(); ")
      scriptString.Append( "   window.focus(); ")
      scriptString.Append( "   window.opener=null; ")
      scriptString.Append( "   window.close();   ")
      scriptString.Append( " </ "   +   "script> ")
      Response.Write(scriptString.ToString())

我知道肯定时response.write的问题。请各位给指点一下怎么来实现。先谢谢了



------解决方案--------------------
可以用UpdatePanel 和 UpdateProgress啊
------解决方案--------------------
ASP.NET,在postback回去的时候要等你所有的代码执行完了,才能呈现给用户,

所以你的label1.visible=true没有实际意义,因为label1要等到你所有代码执行完了才会显示。


PS:你现在主要的问题是什么

------解决方案--------------------
lz现在的代码肯定不行~
可以写一个DIV 点击Button的时候让这个DIV显示 然后当出结果以后 再隐藏这个DIV
------解决方案--------------------
可以用两种方法实现:
方法1:
在开始执行上传的时候,定义一个新的DIV,然后让在页面的最顶端显示出来。执行结束后,设置这个DIV属性为不可见。

方法2:
在点击Button的时候,打开新的IE画面,在这个画面中显示你要表达的文字,后台执行上传,结束后关闭该IE画面,返回主画面。
------解决方案--------------------
不要用Response.Write
使用
Page_load
Page.RegisterClientScriptBlock( "客户端js ,可以用var lb = document.getElementByid(labelid) 获取label ,在用lb.Style.display= " ",显示 ");
button1.Attribuate.Add( "onclick " , 显示 lable 的js函数
------解决方案--------------------
加這樣一個
<div id= "loadinfo " style= "background-color:Red "> Loading... </div>

下面是使用腳本控制,你可以先看下loadinfo相關的
<script type= "text/javascript ">
var obj = document.all;

var loadBar = document.getElementById( "loadinfo ");
var mainTitle= " ";
document.title = mainTitle;

var Panel = new MainPanel();
setMainWidth(150);

PageLoad();

//alert(document.body.innerHTML);

function setMainWidth(w)
{
self.moveTo(0,0)
obj.mainLeft.style.width=w;
obj.mainCtrl.style.width= '2 ';
obj.mainRight.style.width=parseInt(screen.availWidth)-2-w;

var i=parseInt(window.screenTop)
var m=parseInt(obj.mainTop.offsetHeight)+parseInt(obj.mainLoginStatus.offsetHeight)+obj.mainBottom.offsetHeight+25;
var h=parseInt(screen.availHeight)-i-m;
obj.mainPanel.style.height=h;
Panel.RightPanel.style.height = obj.mainPanel.style.height;