ServerChange イベントを発生させます。これにより、イベントの発生時にカスタム イベント ハンドラを作成できます。
Protected Overridable Sub OnServerChange( _
ByVal e As EventArgs _)
[C#]
protected virtual void OnServerChange(EventArgse);
[C++]
protected: virtual void OnServerChange(EventArgs* e);
[JScript]
protected function OnServerChange(
e : EventArgs);
パラメータ
- e
イベント データを格納している System.EventArgs 。
解説
HtmlInputRadioButton コントロールの Checked プロパティがサーバーへのポスト間で値を変更するときに、 ServerChange イベントが発生します。これにより、イベントが発生したときに特定の命令セット (データ検証など) を実行するカスタム イベント ハンドラを作成できます。
メモ ServerChange イベントを正常に動作させるためには、コントロールのビューステートを有効にしておく必要があります。Web フォーム ページのすべてのコントロールのビューステートを有効にするには、 Page.EnableViewState プロパティを true に設定します。 Control.EnableViewState プロパティを true に設定して、個別のコントロールのビューステートを有効にすることもできます。
イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「 イベントの発生 」を参照してください。
OnServerChange メソッドを使用すると、デリゲートを結び付けずに派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意: 派生クラスで OnServerChange をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnServerChange メソッドを呼び出してください。
使用例
[Visual Basic, C#] ServerChange イベントのハンドラを指定およびコード化する方法の例を次に示します。カスタム イベント ハンドラは、Web ページ上のラベルを更新して、選択したオプション ボタンの値を表示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Server_Change(sender As Object , e As EventArgs)
If Radio1.Checked Then
Span1.InnerHtml = "You selected " & _
Radio1.Value
ElseIf Radio2.Checked Then
Span1.InnerHtml = "You selected " & _
Radio2.Value
ElseIf Radio3.Checked Then
Span1.InnerHtml = "You selected " & _
Radio3.Value
End If
End Sub
</script>
</head>
<body>
<form runat="server">
<h3>HtmlInputRadioButton Sample</h3>
<input type="radio"
id="Radio1"
name="Mode"
value="Radio Button 1"
OnServerChange="Server_Change"
runat="server"/>
Option 1
<br>
<input type="radio"
id="Radio2"
name="Mode"
value="Radio Button 2"
OnServerChange="Server_Change"
runat="server"/>
Option 2
<br>
<input type="radio"
id="Radio3"
name="Mode"
value="Radio Button 3"
OnServerChange="Server_Change"
runat="server"/>
Option 3
<p>
<input type="submit"
id="Button1"
value="Submit"
runat="server"/>
<p>
<span id="Span1"
runat="server"/>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Server_Change(object sender, EventArgs e)
{
if (Radio1.Checked)
Span1.InnerHtml = "You selected " +
Radio1.Value;
else if (Radio2.Checked)
Span1.InnerHtml = "You selected " +
Radio2.Value;
else if (Radio3.Checked)
Span1.InnerHtml = "You selected " +
Radio3.Value;
}
</script>
</head>
<body>
<form runat="server">
<h3>HtmlInputRadioButton Sample</h3>
<input type="radio"
id="Radio1"
name="Mode"
value="Radio Button 1"
OnServerChange="Server_Change"
runat="server"/>
Option 1
<br>
<input type="radio"
id="Radio2"
name="Mode"
value="Radio Button 2"
OnServerChange="Server_Change"
runat="server"/>
Option 2
<br>
<input type="radio"
id="Radio3"
name="Mode"
value="Radio Button 3"
OnServerChange="Server_Change"
runat="server"/>
Option 3
<p>
<input type="submit"
id="Button1"
value="Submit"
runat="server"/>
<p>
<span id="Span1"
runat="server" />
</form>
</body>
</html>
[Visual Basic]
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Server_Change(sender As Object, e As EventArgs)
If Radio1.Checked Then
Span1.InnerHtml = "You selected " & Radio1.Value
ElseIf Radio2.Checked Then
Span1.InnerHtml = "You selected " & Radio2.Value
ElseIf Radio3.Checked Then
Span1.InnerHtml = "You selected " & Radio3.Value
End If
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
' Create an EventHandler delegate for the method you want to
' handle the event, and then add it to the list of methods
' called when the event is raised.
AddHandler Radio1.ServerChange, AddressOf Server_Change
AddHandler Radio2.ServerChange, AddressOf Server_Change
AddHandler Radio3.ServerChange, AddressOf Server_Change
End Sub
</script>
</head>
<body>
<form runat="server">
<h3>HtmlInputRadioButton ServerChange Example</h3>
<input type="radio"
id="Radio1"
name="Mode"
value="Radio Button 1"
runat="server"/>
Option 1
<br>
<input type="radio"
id="Radio2"
name="Mode"
value="Radio Button 2"
runat="server"/>
Option 2
<br>
<input type="radio"
id="Radio3"
name="Mode"
value="Radio Button 3"
runat="server"/>
Option 3
<p>
<input type="submit"
id="Button1"
value="Submit"
runat="server"/>
<p>
<span id="Span1"
runat="server" />
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Server_Change(object sender, EventArgs e)
{
if (Radio1.Checked)
{
Span1.InnerHtml = "You selected " + Radio1.Value;
}
else if (Radio2.Checked)
{
Span1.InnerHtml = "You selected " + Radio2.Value;
}
else if (Radio3.Checked)
{
Span1.InnerHtml = "You selected " + Radio3.Value;
}
}
void Page_Load(object sender, EventArgs e)
{
// Create an EventHandler delegate for the method you want to
// handle the event, and then add it to the list of methods
// called when the event is raised.
Radio1.ServerChange += new System.EventHandler(this.Server_Change);
Radio2.ServerChange += new System.EventHandler(this.Server_Change);
Radio3.ServerChange += new System.EventHandler(this.Server_Change);
}
</script>
</head>
<body>
<form runat="server">
<h3>HtmlInputRadioButton ServerChange Example</h3>
<input type="radio"
id="Radio1"
name="Mode"
value="Radio Button 1"
runat="server"/>
Option 1
<br>
<input type="radio"
id="Radio2"
name="Mode"
value="Radio Button 2"
runat="server"/>
Option 2
<br>
<input type="radio"
id="Radio3"
name="Mode"
value="Radio Button 3"
runat="server"/>
Option 3
<p>
<input type="submit"
id="Button1"
value="Submit"
runat="server"/>
<p>
<span id="Span1"
runat="server" />
</form>
</body>
</html>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
HtmlInputRadioButton クラス | HtmlInputRadioButton メンバ | System.Web.UI.HtmlControls 名前空間 | ServerChange | System.EventArgs | Checked