CallBack技術備忘筆記
前之天在網上搜尋了一下,為了怕忘記做了這筆記.
Callback.aspx:
<head runat="server">
<title>未命名頁面</title>
<script type="text/javascript" src="http://www.google.com/jsapi"></script> <!-- Google 提供的 AJAX Libraries API -->
<script type="text/javascript" language="javascript">
google.load("jquery", "1.2"); // 載入 jQuery 1.2.X 最新版本
</script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" />
<script type="text/javascript">
function ReceiveServerData(rValue) {
document.all.t1.value=rValue
};
</script>
</head>
<body>
<form id="form1" runat="server" method="post">
<label for="t1">滑鼠點輸入框回傳Sever端時間:</label>
<input type="text" name="t1" id="t1" value="點這..." runat="server" />
</form>
</body>
Callback.aspx.vb
Inherits System.Web.UI.Page
Implements System.Web.UI.ICallbackEventHandler
'處理要回傳給 Client端(瀏覽器)的值 ,此範例僅回傳 Sever 端時間
Protected Overridable Function GetCallbackReult() Overridable Function GetCallbackReult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult
Return Now '回傳Sever端時間
End Function
'處理從Client端(瀏覽器)傳來的值 , 此範例尚未用到
Dim returnValue As String
Public Sub RaiseCallbackEvent() Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
returnValue = eventArgument
End Sub
'Call Back的整個原理是:
'1.在ASP.NET程式碼中,利用『GetCallbackEventReference』產生一段JavaScript的Call Back指令。
'2.將這段Call Back指令掛到某個Html控制項上,利用這段JavaScript指令在不postback的情況下,將資料(參數)回傳到Server(參數包含下表中定義的argument, clientCallbackProc…) 。
'3.Server端(.aspx.vb程式)接收到資料(參數)後進行處理,處理完後回呼(Call Back)Client端的JavaScript。
'4.Client端的JavaScript函式,收到回呼的結果,動態更新網頁內容。
Protected Sub Page_Load() Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'在這建立一段 JavaScript 程式碼,用來在 Client 端啟動Call Back 動作
Dim cbReference As String
'建立 Call Back 程式碼-指定回傳函式為 ReceiveServerData
cbReference = Page.ClientScript.GetCallbackEventReference(Me, "", "ReceiveServerData", "")
'註冊
t1.Attributes("onchange") = cbReference
t1.Attributes("onclick") = cbReference
End Sub
執行結果: