Freigeben über


HtmlSelect.OnServerChange-Methode

Löst das ServerChange-Ereignis des HtmlSelect-Steuerelements aus. Dadurch können Sie einen benutzerdefinierten Handler für das Ereignis bereitstellen.

Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Protected Overridable Sub OnServerChange ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnServerChange(e)
protected virtual void OnServerChange (
    EventArgs e
)
protected:
virtual void OnServerChange (
    EventArgs^ e
)
protected void OnServerChange (
    EventArgs e
)
protected function OnServerChange (
    e : EventArgs
)

Parameter

Hinweise

Das ServerChange-Ereignis wird ausgelöst, wenn sich die ausgewählten Elemente im HtmlSelect-Steuerelement zwischen Bereitstellungen auf dem Server ändern.

Hinweis

Dieses Ereignis wird nur ausgelöst, wenn der Benutzer eine Bereitstellung auf dem Server initiiert, z. B. durch Klicken auf eine Schaltfläche zum Senden. Dieses Ereignis bewirkt keine Bereitstellung auf dem Server.

Hinweis

Der Ansichtszustand für das Steuerelement muss aktiviert sein, damit das ServerChange-Ereignis ordnungsgemäß funktioniert.

Mit diesem Ereignis können Sie eine Datenvalidierung für das HtmlSelect-Steuerelement durchführen, wenn der Benutzer die Auswahl im Steuerelement ändert.

Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Auslösen eines Ereignisses.

Die OnServerChange-Methode ermöglicht es auch abgeleiteten Klassen, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Erben Wenn Sie die OnServerChange-Methode in einer abgeleiteten Klasse überschreiben, müssen Sie unbedingt die OnServerChange-Methode der Basisklasse aufrufen, sodass registrierte Delegaten das Ereignis empfangen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie ein Ereignishandler für das ServerChange-Ereignis des HtmlSelect-Steuerelements angegeben und codiert wird. Der Ereignishandler bestimmt, ob die ausgewählten Elemente miteinander kompatibel sind.

<%@ 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> &nbsp;&nbsp; -" & 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> &nbsp;&nbsp; -" + 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> &nbsp;&nbsp; -" + 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> &nbsp;&nbsp; -" & 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> &nbsp;&nbsp; -" + 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>

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HtmlSelect-Klasse
HtmlSelect-Member
System.Web.UI.HtmlControls-Namespace
ServerChange
System.EventArgs

Weitere Ressourcen

HTML-Serversteuerelemente