擷取回傳事件
對於要擷取回傳事件的控制項而言,它必須實作 System.Web.UI.IPostBackEventHandler 介面。這個介面的合約允許控制項在伺服器引發事件以回應用戶端的回傳。IPostBackEventHandler 介面包含一個方法。
public interface IPostBackEventHandler{
void RaisePostBackEvent(string eventArgument);
}
[Visual Basic]
Public Interface IPostBackEventHandler
Sub RaisePostBackEvent(eventArgument As String)
End Interface
回傳時,網頁架構會搜尋張貼的內容,並判斷張貼的名稱是否對應於實作 IPostBackEventHandler 的伺服器控制項的 UniqueID。若是如此,它會叫用那控制項上的 RaisePostBackEvent 方法 (引發變更事件之後)。
下列程式片段示範在伺服器上引發 Click
事件的 RaisePostBackEvent 的實作。
public void RaisePostBackEvent(String eventArgument){
OnClick(EventArgs.Empty);
}
[Visual Basic]
Public Overridable Sub RaisePostDataChangedEvent() Implements IPostBackDataHandler.RaisePostDataChangedEvent
OnTextChanged(EventArgs.Empty)
End Sub
注意 呈現邏輯指派 UniqueID 給控制項的 name 屬性 (如下列範例所示),是必要的。網頁架構無法轉送回傳事件至您的控制項,如果它用戶端的 name 屬性不符合其 UniqueID。
protected override void Render(HtmlTextWriter output) {
output.Write("<INPUT TYPE=submit name=" + this.UniqueID +
" Value='Click Me' />");
}
[Visual Basic]
Protected Overrides Sub Render(output As HtmlTextWriter)
output.Write("<INPUT type=submit name=" & Me.UniqueID & _
" Value='Click Me' />")
End Sub
如需接收回傳告知並在伺服器上引發事件的控制項的範例,請參閱回傳事件範例。