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;
Panel.RightPanel.style.width = obj.mainPanel.style.width;
}
function MainPanel()
{
this.LeftPanel = obj.mainLeft;
this.RightPanel = obj.frmRight;
this.RightPanel.attachEvent( "onreadystatechange ",getLoadStatus);
this.LoadingBar = loadBar;
this.Loading = setLoadingBox;
this.AnilDiagCloseArgus = null;
this.onAnilDiagClose = function()
{
obj.anilDiag.style.display= 'none ';
obj.winbox.src= 'loading.htm ';
if (this.AnilDiagCloseArgus == null)
{
return;
}
if (this.AnilDiagCloseArgus == 0)
{
Panel.RightPanel.document.location.reload();
}
else
{
Panel.RightPanel.target= "frmRight ";
//alert(Panel.RightPanel);
Panel.RightPanel.src = this.AnilDiagCloseArgus;
//window.open(this.AnilDiagCloseArgus, "frmRight ", " ",false);
}
}
}
function whenLoadedFile()
{
alert( 'loading over... ');
}
function getLoadStatus()
{
var status = null;
try
{
status = frmRight.document.readyState;
}
catch(ex)
{
status = null;
}
if (status == null)
{
loadBar.style.visibility = "hidden ";
loadBar.innerHTML = " ";
return false;
}
else if (status == "loading " || status == "loaded " || status == "interactive " || status == "uninitialized ")
{
loadBar.style.visibility = "visible ";
loadBar.innerHTML = "Loading... ";
}
else if (status == "complete ")
{
loadBar.innerHTML = "Loading complete... ";
loadBar.style.visibility = "hidden ";
}
}
function setLoadingBox(v)
{
var visi = val = ' ';
if (v==0){
visi = "hidden ";
val = " ";
}else{
visi = "visible ";
val = "Processing... ";
}
loadBar.style.visibility = visi;
loadBar.innerHTML = val;
}
function PageLoad()
{
loadBar.style.right=0;
loadBar.style.pixelTop=document.body.scrollTop;
obj.btnShowHide.attachEvent( "onclick ", btnShowHideClick);
}
function btnShowHideClick()
{
Panel.LeftPanel.style.display = (Panel.LeftPanel.style.display == " ") ? "none " : " ";
}
/* 菜單條及命令動作*/
function menuCmd(url)
{
loadBar.style.visibility = "visible ";
loadBar.innerHTML = "請稍候,載入頁面中…… ";
Panel.RightPanel.src = url;
}
function setMouseOnOutStyle(t)
{
if (t==1)
{
event.srcElement.className = 'menuItemAndMouseOut mouseOn ';
} else {
event.srcElement.className = 'menuItemAndMouseOut ';
}
}
var eleBeMoved = document.getElementById( "a ");
function InitDrag()
{
var evt = window.event, src = evt.srcElement, e = eleBeMoved, b = document.body;
if(IsBemoveObject(e))
{
var p = e.parentElement;
e.onmouseup = function (){ e.style.cursor = "default ";e.style.border = 'none '; b.onmouseover = null; e.releaseCapture();b.onmousemove=null}
e.onmousedown = function ()
{
e.setCapture();
b.onmousemove = function ()
{
if(parseInt(evt.clientY)> 0 || parseInt(evt.clientX> 0))
{
e.style.cursor = "move ";
e.style.border = '1px dotted red ';
p.style.top = evt.clientY - 30;
p.style.left = evt.clientX/3;
}
}
}
}
function IsBemoveObject(e)
{
if(e.id == eleBeMoved.id)
{
return true;
}
return false;
}
}
</script>
[解决办法]
现在有很多进度条控减,可以实施
[解决办法]
是的用进度条 可以实现用户等待的功能
我的网站 提点意见http://www.bework.com.cn
[解决办法]
如上诸位所述
然后用控件的下面的属性试试 如
document.all( 'lableFileName ').style.display= 'none ';