次の方法で共有


HtmlSelect.OnPreRender メソッド

HtmlSelect コントロールの PreRender イベントを発生させます。

名前空間: System.Web.UI.HtmlControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Protected Friend Overrides Sub OnPreRender ( _
    e As EventArgs _
)
'使用
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
)
適用できません。

パラメータ

  • e
    イベント データを格納している EventArgs

解説

Size プロパティが 1 より大きい場合、OnPreRender メソッドは、HtmlSelect コントロールを Page コントロールと共にポストバック処理が必要なコントロールとして登録します。

使用例

OnPreRender メソッドをオーバーライドして、カスタムの HtmlSelect サーバー コントロールで複数選択ができるようにする方法を次のコード例に示します。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSl.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <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>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </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

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

HtmlSelect クラス
HtmlSelect メンバ
System.Web.UI.HtmlControls 名前空間
Size
RegisterRequiresPostBack

その他の技術情報

HTML サーバー コントロール