Freigeben über


HtmlSelect.OnPreRender-Methode

Löst das PreRender-Ereignis für das HtmlSelect-Steuerelement aus.

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

Syntax

'Declaration
Protected Friend Overrides Sub OnPreRender ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnPreRender(e)
protected internal override void OnPreRender (
    EventArgs e
)
protected public:
virtual void OnPreRender (
    EventArgs^ e
) override
protected void OnPreRender (
    EventArgs e
)
protected internal override function OnPreRender (
    e : EventArgs
)

Parameter

  • e
    Ein EventArgs, das die Ereignisdaten enthält.

Hinweise

Wenn die Size-Eigenschaft größer als 1 ist, registriert die OnPreRender-Methode das HtmlSelect-Steuerelement für das Page-Steuerelement als Steuerelement, für das eine Postbackverarbeitung erforderlich ist.

Beispiel

Im folgenden Codebeispiel wird das Überschreiben der OnPreRender-Methode veranschaulicht, sodass diese die Mehrfachauswahl in einem benutzerdefinierten HtmlSelect-Serversteuerelement zulässt.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<HTML>
    <HEAD>
        <title>Custom HtmlSelect - OnPreRender - VB.NET Example</title>
        <script runat="server">
      Sub HtmlInputButton1_ServerClick(sender As Object, e As EventArgs)
        If HtmlSelect1.SelectedIndex >= 0 Then
            If HtmlSelect1.Multiple = True Then
              Div1.InnerHtml = "You selected:"
              Dim i As Integer
              For i = 0 To HtmlSelect1.Items.Count - 1
                  If HtmlSelect1.Items(i).Selected = True Then
                    Div1.InnerHtml += "<br> &nbsp;&nbsp; " & HtmlSelect1.Items(i).Value
                  End If
              Next i
            Else
              Div1.InnerHtml = "You selected " & HtmlSelect1.Value
            End If
        Else
            Div1.InnerHtml = "You did not select an item."
        End If
      End Sub
        </script>
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom HtmlSelect - OnPreRender - VB.NET Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectOnPreRender 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectOnPreRender>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </p>
      
      <p>
      <DIV id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" 
        ms_positioning="FlowLayout" />
      </p>
       
        </form>
    </body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<HTML>
    <HEAD>
        <title>Custom HtmlSelect - OnPreRender - C# Example</title>
        <script runat="server">
      void HtmlInputButton1_ServerClick(Object sender, EventArgs e) 
      {
        if (HtmlSelect1.SelectedIndex >= 0)
        {
          if (HtmlSelect1.Multiple == true)
          {
            Div1.InnerHtml = "You selected:";
            for (int i=0; i<=HtmlSelect1.Items.Count - 1; i++)
            {
              if (HtmlSelect1.Items[i].Selected == true)
              {
                Div1.InnerHtml += "<br> &nbsp;&nbsp; " + HtmlSelect1.Items[i].Value; 
              }     
            }
          }
          else
          {
            Div1.InnerHtml = "You selected " + HtmlSelect1.Value;
          }
        }
        else
        {
          Div1.InnerHtml = "You did not select an item.";
        }
      }
        </script>
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom HtmlSelect - OnPreRender - C# Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectOnPreRender 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectOnPreRender>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </p>
      
      <p>
      <DIV id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" 
        ms_positioning="FlowLayout" />
      </p>
       
        </form>
    </body>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSl.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<HTML>
    <HEAD>
        <title>Custom HtmlSelect - OnPreRender - VJ# Example</title>
        <script runat="server">
    void HtmlInputButton1_ServerClick(Object sender, EventArgs e) 
    {
        if (HtmlSelect1.get_SelectedIndex() >= 0) {
            if (HtmlSelect1.get_Multiple() == true) {
                Div1.set_InnerHtml("You selected:");
                for (int i=0; i<=HtmlSelect1.get_Items().get_Count() - 1; i++) {
                    if (HtmlSelect1.get_Items().get_Item(i).
                        get_Selected() == true) {
                        Div1.set_InnerHtml(Div1.get_InnerHtml() 
                            + "<br> &nbsp;&nbsp; " 
                            + HtmlSelect1.get_Items().get_Item(i).get_Value()); 
                    }     
                }
            }
            else {
                Div1.set_InnerHtml("You selected " + HtmlSelect1.get_Value());
            }
        }
        else {
            Div1.set_InnerHtml("You did not select an item.");
        }
    } //HtmlInputButton1_ServerClick
        </script>
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <h3>Custom HtmlSelect - OnPreRender - VJ# Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectOnPreRender 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <OPTION value="Option1">Option1</OPTION>
        <OPTION value="Option2">Option2</OPTION>
        <OPTION value="Option3">Option3</OPTION>
      </aspSample:CustomHtmlSelectOnPreRender>
      </p>
      
      <p>
      <INPUT 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1">&nbsp;&nbsp;
      </p>
      
      <p>
      <DIV id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" 
        ms_positioning="FlowLayout" />
      </p>
       
        </form>
    </body>
</HTML>
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomHtmlSelectOnPreRender
    Inherits System.Web.UI.HtmlControls.HtmlSelect

    Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)

        ' Call the base's OnPreRender method.
        MyBase.OnPreRender(e)

        ' Allow multiple selections.
        Me.Multiple = True
    End Sub
End Class
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomHtmlSelectOnPreRender : System.Web.UI.HtmlControls.HtmlSelect
    {
        protected override void OnPreRender(System.EventArgs e)
        {
            // Call the base's OnPreRender method.
            base.OnPreRender(e);
                
            // Allow multiple selections.
            this.Multiple = true;
        }
    }
}
package Samples.AspNet.JSL.Controls;

public class CustomHtmlSelectOnPreRender
    extends System.Web.UI.HtmlControls.HtmlSelect
{
    protected void OnPreRender(System.EventArgs e)
    {
        // Call the base's OnPreRender method.
        super.OnPreRender(e);
        // Allow multiple selections.
        this.set_Multiple(true);
    } //OnPreRender
} //CustomHtmlSelectOnPreRender

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
Size
RegisterRequiresPostBack

Weitere Ressourcen

HTML-Serversteuerelemente