在當前頁面點擊搜索按紐后,當前頁的button onclick事件會生成一個sql語句,然后轉到查詢結果頁面,由于查詢可能很費時間,客戶要求在這兩個頁面中加入一個提示用戶正在查詢,請等待的頁,具體的查詢是在查詢結果頁面的page_load進行的。
現在的問題是這個中間頁面怎么自動轉向查詢結果頁面,如果在page_load里寫,這個中間頁就顯示不出來有兩種比較中肯的解決方法:
第一種
1。可以做個公用的用戶控件,copy如下代碼,樣式自己定義
<div id='doing' style='z-index: 12000; left: 0px; width: 100%; cursor: wait; position: absolute; top: 0px; height: 100%'>
<table width='100%' height='100%' id="table1">
<tr align='center' valign='middle'>
<td >
<table id="table2" class="loading">
<tr align='center' valign='middle'>
<td>loading...</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<script language="javascript">
function showwaiting()
{
document.getelementbyid('doing').style.visibility = 'visible';
}
function closewaiting()
{
document.getelementbyid('doing').style.visibility = 'hidden';
}
function myonload()
{
document.getelementbyid('doing').style.visibility = 'hidden';
}
if (window.onload == null)
{
window.onload = myonload;
}
</script>
2。在頁面中拖入用戶控件
3。在頁面中給button加客戶端click方法,如下
protected void page_load(object sender, eventargs e)
{
this.button1.attributes.add("onclick", "showwaiting();");
}
第二種
第一個頁面比如first.aspx加入以下js:
<script language="javascript">
<!--
var _tt;
function showsending()
{_tt=window.open("processwin.aspx",'uploadfileprocess',"toolbar=0,location=0,directories=0,status=0,
menubar=0,scrollbars=1,resizable=1,top="+dispheight+",left="+dispwidth+",width=410,height=200",true); return true;
}
function closewin()
{
if (_tt!=null)
{
_tt.close();
}
}
//-->
</script>
<body bgcolor="silver" onunload="closewin();">
然后,后臺代碼first.aspx.cs
page_load()時,檢索按鈕加入如下屬性:
btfileupload.attributes.add("onclick","return showsending()");
processwin.aspx頁面就是你要的中間頁了,上面寫上“等待...”
新聞熱點
疑難解答