在當前頁面點擊搜索按紐後,當前頁的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頁面就是你要的中間頁了,上面寫上“等待...”