2008年1月10日 星期四

.Net 2.0 CallBack機制 (1.10)

寫久了.net,也該受夠了PostBack的罪。無奈在.net的領域中,PostBack又太為重要,沒有了PostBack,Server端與Client端的資料如何傳遞呢?
所以為了不PostBack,必須要仰賴到JavaScript,自己在網頁上,加上許多JavaScript的語法來達到目的,如今,.net終於正式和JavaScript合作了(自己說的),因為在.net 2.0上,多了個CallBack的機制,可以不用PostBack可以傳遞資料,也不會看畫面在那閃丫閃的,也大大的增加了網頁的效能,現今最為流行的AJAX就是使用CallBack的方法喲!!

學習CallBack不可不知的三個重點
1 GetCallbackEventReference //用來產生JavaScript的CallBack指令
2 GetCallbackResult//處理要回傳給Client端的值
3 RaiseCallbackEvent//處理從Client端傳來的值

範例:
**點一下按鈕,在不postback的情況下,取得日期

後端處理(.cs)
//需繼承「System .Web .UI .ICallbackEventHandler 」
public partial class callback : System.Web.UI.Page,System .Web .UI .ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
string cbReference="";
cbReference =ClientScript .GetCallbackEventReference (this,"''","ReceiveServerData","");
//由於沒有要處理的資料,所以第二個引數為空字串
btn_callback.Attributes["onclick"] = cbReference; //註冊CallBack的JavaScript
}
public string GetCallbackResult()
{
return DateTime.Now.ToShortDateString (); //傳回時間
}
public void RaiseCallbackEvent(string abc)
{
//由於沒有要處理運算(處理)的值,所以目前沒有程式
}
}

前端網頁(.aspx)










了解了後,接下來就可以應用到其它更深度的地方去~~慢慢探索吧