HtmlSelect.OnServerChange メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim e As EventArgs Me.OnServerChange(e)

HtmlSelect コントロールで選択された項目がサーバーへのポスト間で変更された場合は ServerChange イベントが発生します。
![]() |
---|
このイベントは、Submit ボタンのクリックなど、ユーザーがサーバーへのポストを開始したときにだけ発生します。このイベントによりサーバーへのポストが発生することはありません。 |
ユーザーがコントロールの選択を変更する場合は、このイベントを使用して HtmlSelect コントロールのデータ検証を実行できます。
イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「イベントの発生」を参照してください。
OnServerChange メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意 派生クラスで OnServerChange メソッドをオーバーライドする場合は、登録されているデリゲートがイベントを受け取るように、基本クラスの OnServerChange メソッドを呼び出してください。
HtmlSelect コントロールの ServerChange イベントのイベント ハンドラを指定およびコード化する方法を次のコード例に示します。このイベント ハンドラは、選択された各項目に互換性があるかどうかを確認します。
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <script runat="server"> Sub Button_Click (sender As Object, e As EventArgs) Dim i As Integer Label1.Text = "You selected:" For i = 0 to Select1.Items.Count - 1 If Select1.Items(i).Selected Then Label1.Text = Label1.Text & "<br> -" & Select1.Items(i).Text End If Next i End Sub Sub Server_Change (sender As Object, e As EventArgs) Dim i As Integer Dim Count As Integer = 0 For i = 0 to Select1.Items.Count - 1 If Select1.Items(i).Selected Then Count = Count + 1 End If Next i If Count > 1 And Select1.Items(0).Selected Then Label2.Text = "Hey! You can't select 'All' with another selection!!" Else Label2.Text = "" End If End Sub </script> </head> <body> <form runat="server"> <h3> HtmlSelect Example </h3> Select items from the list: <br><br> <select id="Select1" Multiple="True" OnServerChange="Server_Change" runat="server"> <option value="All"> All </option> <option value="1" Selected="True"> Item 1 </option> <option value="2"> Item 2 </option> <option value="3"> Item 3 </option> <option value="4"> Item 4 </option> <option value="5"> Item 5 </option> <option value="6"> Item 6 </option> </select> <br><br> <button id="Button1" OnServerClick="Button_Click" runat="server"> Submit </button> <br><br> <asp:Label id="Label1" runat="server"/> <br> <asp:Label id="Label2" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script runat="server"> void Button_Click (Object sender, EventArgs e) { Label1.Text = "You selected:"; for (int i=0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Label1.Text += "<br> -" + Select1.Items[i].Text; } } void Server_Change (Object sender, EventArgs e) { int Count = 0; for (int i=0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Count++; } if ((Count > 1) && (Select1.Items[0].Selected)) Label2.Text = "Hey! You can't select 'All' with another selection!!"; else Label2.Text = ""; } </script> </head> <body> <form runat="server"> <h3> HtmlSelect Example </h3> Select items from the list: <br><br> <select id="Select1" Multiple="True" OnServerChange="Server_Change" runat="server"> <option value="All"> All </option> <option value="1" Selected="True"> Item 1 </option> <option value="2"> Item 2 </option> <option value="3"> Item 3 </option> <option value="4"> Item 4 </option> <option value="5"> Item 5 </option> <option value="6"> Item 6 </option> </select> <br><br> <button id="Button1" OnServerClick="Button_Click" runat="server"> Submit </button> <br><br> <asp:Label id="Label1" runat="server"/> <br> <asp:Label id="Label2" runat="server"/> </form> </body> </html>
<%@ Page Language="JScript" AutoEventWireup="True" %> <html> <head> <script runat="server"> function Button_Click (sender : Object, e : EventArgs) : void { Label1.Text = "You selected:"; for (var i : int =0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Label1.Text += "<br> -" + Select1.Items[i].Text; } } function Server_Change (sender : Object, e : EventArgs) : void { var Count : int = 0; for (var i : int =0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Count++; } if ((Count > 1) && (Select1.Items[0].Selected)) Label2.Text = "Hey! You can't select 'All' with another selection!!"; else Label2.Text = ""; } </script> </head> <body> <form runat="server"> <h3> HtmlSelect Example </h3> Select items from the list: <br><br> <select id="Select1" Multiple="True" OnServerChange="Server_Change" runat="server"> <option value="All"> All </option> <option value="1" Selected="True"> Item 1 </option> <option value="2"> Item 2 </option> <option value="3"> Item 3 </option> <option value="4"> Item 4 </option> <option value="5"> Item 5 </option> <option value="6"> Item 6 </option> </select> <br><br> <button id="Button1" OnServerClick="Button_Click" runat="server"> Submit </button> <br><br> <asp:Label id="Label1" runat="server"/> <br> <asp:Label id="Label2" runat="server"/> </form> </body> </html>
<%@ Page Language="VB" AutoEventWireup="True" %> <html> <head> <script runat="server"> Sub Button_Click (sender As Object, e As EventArgs) ' Display the selected items. Label1.Text = "You selected:" Dim i As Integer For i=0 To Select1.Items.Count - 1 If Select1.Items(i).Selected Then Label1.Text &= "<br> -" & Select1.Items(i).Text End If Next i End Sub Sub Server_Change(sender As Object, e As EventArgs) ' The ServerChange event is commonly used for data validation. ' This method will display a warning if the "All" option is ' selected in combination with another item in the list. Dim Count As Integer = 0 Dim i As Integer ' Determine the number of selected items in the list. For i=0 To Select1.Items.Count - 1 If Select1.Items(i).Selected Then Count = Count + 1 End If Next i ' Display an error message if more than one item is selected with ' the "All" item selected. If ((Count > 1) And (Select1.Items(0).Selected)) Then Label2.Text = "Hey! You can't select 'All' with another selection!!" Else Label2.Text = "" 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 Select1.ServerChange, AddressOf Server_Change AddHandler Button1.ServerClick, AddressOf Button_Click End Sub </script> </head> <body> <form runat="server"> <h3> HtmlSelect ServerChange Example </h3> Select items from the list: <br><br> <select id="Select1" Multiple="True" runat="server"> <option value="All"> All </option> <option value="1" Selected="True"> Item 1 </option> <option value="2"> Item 2 </option> <option value="3"> Item 3 </option> <option value="4"> Item 4 </option> <option value="5"> Item 5 </option> <option value="6"> Item 6 </option> </select> <br><br> <button id="Button1" runat="server"> Submit </button> <br><br> <asp:Label id="Label1" runat="server"/> <br> <asp:Label id="Label2" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script runat="server"> void Button_Click (Object sender, EventArgs e) { // Display the selected items. Label1.Text = "You selected:"; for (int i=0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Label1.Text += "<br> -" + Select1.Items[i].Text; } } void Server_Change(Object sender, EventArgs e) { // The ServerChange event is commonly used for data validation. // This method will display a warning if the "All" option is // selected in combination with another item in the list. int Count = 0; // Determine the number of selected items in the list. for (int i=0; i<=Select1.Items.Count - 1; i++) { if (Select1.Items[i].Selected) Count++; } // Display an error message if more than one item is selected with // the "All" item selected. if ((Count > 1) && (Select1.Items[0].Selected)) { Label2.Text = "Hey! You can't select 'All' with another selection!!"; } else { Label2.Text = ""; } } 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. Select1.ServerChange += new System.EventHandler(this.Server_Change); Button1.ServerClick += new System.EventHandler(this.Button_Click); } </script> </head> <body> <form runat="server"> <h3> HtmlSelect Server Change Example </h3> Select items from the list: <br><br> <select id="Select1" Multiple="True" runat="server"> <option value="All"> All </option> <option value="1" Selected="True"> Item 1 </option> <option value="2"> Item 2 </option> <option value="3"> Item 3 </option> <option value="4"> Item 4 </option> <option value="5"> Item 5 </option> <option value="6"> Item 6 </option> </select> <br><br> <button id="Button1" runat="server"> Submit </button> <br><br> <asp:Label id="Label1" runat="server"/> <br> <asp:Label id="Label2" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からHtmlSelect.OnServerChange メソッドを検索する場合は、下記のリンクをクリックしてください。

- HtmlSelect.OnServerChange メソッドのページへのリンク