IPostBackEventHandler.RaisePostBackEvent メソッド
クラスによって実装された場合は、フォームがサーバーにポストされたときに発生するイベントをサーバー コントロールで処理できるようにします。
Sub RaisePostBackEvent( _
ByVal eventArgument As String _)
[C#]
void RaisePostBackEvent(
stringeventArgument);
[C++]
void RaisePostBackEvent(
String* eventArgument);
[JScript]
function RaisePostBackEvent(
eventArgument : String);
パラメータ
- eventArgument
イベント ハンドラに渡される省略可能なイベント引数を表す String 。
解説
IPostBackEventHandler インターフェイスを実装しているコントロールの RaisePostBackEvent メソッドに、ページが eventArgument パラメータの値を渡します。このコントロールには、ポストバックを発生させる HTML 要素も表示されます。このコントロールにポストバックのクライアント側スクリプトが表示されている場合、 eventArgument パラメータにこのスクリプトからの引数が渡されます。送信によってポストバックが発生した場合、 eventArgument パラメータは null 参照 (Visual Basic では Nothing) です。
このメソッドは、HTML サーバー コントロールおよび Web サーバー コントロールによって実装される多くのイベントを処理する機能を提供します。
使用例
[Visual Basic, C#, C++] ポストバックを発生させるカスタム ボタン サーバー コントロールを定義し、 RaisePostBackEvent メソッドを使用してポストバック イベントをキャプチャして、サーバーで Click イベントを発生させる例を次に示します。
Imports System
Imports System.Web.UI
Imports System.Collections
Imports System.Collections.Specialized
Namespace CustomControls
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> Public Class MyButton
Inherits Control
Implements IPostBackEventHandler
' Define the Click event.
Public Event Click As EventHandler
' Invoke delegates registered with the Click event.
Protected Overridable Sub OnClick(e As EventArgs)
RaiseEvent Click(Me, e)
End Sub
' Define the method of IPostBackEventHandler that raises change events.
Public Sub RaisePostBackEvent(eventArgument As String) _
Implements IPostBackEventHandler.RaisePostBackEvent
OnClick(New EventArgs())
End Sub
Protected Overrides Sub Render(output As HtmlTextWriter)
output.Write("<INPUT TYPE = submit name = " & Me.UniqueID & _
" Value = 'Click Me' />")
End Sub
End Class
End Namespace
[C#]
using System;
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;
namespace CustomControls {
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class MyButton: Control, IPostBackEventHandler {
// Defines the Click event.
public event EventHandler Click;
//Invoke delegates registered with the Click event.
protected virtual void OnClick(EventArgs e) {
if (Click != null) {
Click(this, e);
}
}
// Define the method of IPostBackEventHandler that raises change events.
public void RaisePostBackEvent(string eventArgument){
OnClick(new EventArgs());
}
protected override void Render(HtmlTextWriter output) {
output.Write("<INPUT TYPE = submit name = " + this.UniqueID +
" Value = 'Click Me' />");
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.Web.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::UI;
using namespace System::Collections;
using namespace System::Collections::Specialized;
[System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name=S"FullTrust")]
public __gc class MyButton: public Control, public IPostBackEventHandler {
// Defines the Click event.
public:
__event EventHandler* Click;
//Invoke delegates registered with the Click event.
protected:
virtual void OnClick(EventArgs* e) {
if (Click != 0) {
Click(this, e);
}
}
// Define the method of IPostBackEventHandler that raises change events.
public:
void RaisePostBackEvent(String* eventArgument){
OnClick(new EventArgs());
}
protected:
void Render(HtmlTextWriter* output) {
output->Write(S"<INPUT TYPE = submit name = {0} Value = 'Click Me' />", this->UniqueID);
}
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
IPostBackEventHandler インターフェイス | IPostBackEventHandler メンバ | System.Web.UI 名前空間 | ポストバック イベントのキャプチャ