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