測試檔案沒有把所有代碼都寫上,只列舉相關的代碼
一、prototype.js
這個不用說網上有下載的
二、test.aspx
var progressBar;
var url;
var loadtext;
function UserLogin(loadtext,url) {
//開始提交資料
progressBar = new ProgressBar();
progressBar.SetStatus(loadtext);
if(url!=null)
{ location.href = url; }
}
然後再加一個button
三、test.aspx.cs
這裡很簡單,在button上註冊一個事件
private void Page_Load(object sender, System.EventArgs e)
{
this.Button1.Attributes.Add("onclick","javascript:UserLogin('<img src=../images/ajax-loader.gif align=absmiddle><br><a class=baizi>正在提交資料...</a>',null)");
}
private void Button1_Click(object sender, System.EventArgs e)
{
Pub.CallJavaScript(this,"UserLogin","<img src=../images/ajax-loader.gif align=absmiddle><br><a class=baizi>正在載入頁面,請稍候..<a>","exchange.aspx");
}
四、pub.cs
這個類裡寫了個從伺服器端調用用戶端的公用方法
public static void CallJavaScript(Page page, string FunName,string str,string url)
{
StringBuilder StrScript = new StringBuilder();
StrScript.Append( "<script language=javascript>" );
StrScript.Append( FunName+"('"+ str +"','"+ url +"');" );
StrScript.Append( "</script>" );
if (!page.IsStartupScriptRegistered( "Call"+FunName ) )
{
page.RegisterStartupScript( "Call"+FunName, StrScript.ToString() );
}
}