by
Neon Quach
6. May 2009 01:12
Hế lô các bạn, Tùng xin past lạ kỹ thuật Callback
Trong ASP.NET 2.0 Microsoft đã đưa một kỹ thuật gọi là Callback, kỹ thuật này cho phép ta ứng dụng Ajax vào ASP.NET một cách dễ dàng. Thật ra kỹ thuật Ajax đã được Microsoft gói gọn trong Callback, cho ta ứng dụng lại dễ dàng hơn.
Sau đây là các bước ứng dụng Callback vào ASP.NET 2.0 :
(Các bạn nên gõ giống hệt thì tốt hơn hết )
1 - thực hiện implement giao diện(interface) ICallbackEventHandler cho một page trong code behide, 2 method này bắt buộc phải giống hệt như bên dưới :
C#:
public partial class _Default : System.Web.UI.Page, ICallbackEventHandler
VB:
Partial Class _Default Inherits System.Web.UI.Page Implements ICallbackEventHandler
2 - thực thi 2 method RaiseCallbackEvent và GetCallbackResult của giao diện ICallbackEventHandler
C#:
#region ICallbackEventHandler Members
//Trả về kết quả ở đây
public string GetCallbackResult()
{
return "ASP.NET - callback";
}
//bắt lấy các tham số truyền từ Client đến bằng tham số clientArg
public void RaiseCallbackEvent(string eventArgument)
{
Callback = eventArgument;
}
#endregion
VB:
Public Function GetCallbackResult() As String Implements System.Web.UI.ICallbackEventHandler.GetCallbackResult
Return "ASP.NET - callback"
End Function
Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent
CallBack = eventArgument
End Sub
3- Thực hiện đăng ký hàm Callback cho page
Ta khai báo một biến kiểu String và đăng ký trong sự kiện Page_load :
C#:
public string Callback;
protected void Page_Load(object sender, EventArgs e)
{
// 1 _ bắt đầu trả giá trị Callback về cho Client (trong hàm CalltoServer)
// this - tên control đăng ký Callback
// "arg" - tên tham số truyền đến từ Client
// "GetvaluefromServer" - tên hàm sẽ xử lý phía Client
// "context" - trạng thái của Callback
// "OnError" - tên hàm xử lý lỗi ở phía Client
// true - cho biết xử lý bất đồng bộ hay không
Callback = ClientScript.GetCallbackEventReference(this, "arg", "GetvaluefromServer", "context", "OnError", true);
}
VB:
Public CallBack As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
CallBack = ClientScript.GetCallbackEventReference(Me, "arg", "GetValueFromServer", "context", "OnError", True)
End Sub
4 - Thực hiện các hàm JavaScript xử lý ở phía Client, các bạn chú ý đoạn Script

Sau đó các bạn dùng một control HTML, trên sự kiện Onclick của nó, các bạn gọi hàm CalltoServer().

Trên là một ví dụ cơ bản về Callback trong ASP.NET 2.0.
Edit by Bill_Gates - Thank Mr Tùng (owner)
Download code: CS và VB.NET
CallBack.rar (6.57 kb)