HtmlSelect.AddParsedSubObject(Object) 方法

定义

将已分析的子控件添加到 HtmlSelect 控件。

protected:
 override void AddParsedSubObject(System::Object ^ obj);
protected override void AddParsedSubObject (object obj);
override this.AddParsedSubObject : obj -> unit
Protected Overrides Sub AddParsedSubObject (obj As Object)

参数

obj
Object

要添加的已分析的子控件。

实现

例外

obj 参数指定的子控件必须为 ListItem 类型。

示例

下面的代码示例演示如何重写 AddParsedSubObject 自定义服务器控件中的 方法,以便它始终检查类的 ListItem 实例是否已添加到 HtmlSelect 所选项集合。

<%@ 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 - AddParsedSubObject - C# Example</title>
        <script runat="server">
      void HtmlInputButton1_ServerClick(Object sender, EventArgs e) 
      {
        if (HtmlSelect1.SelectedIndex >= 0)
        {
          if (HtmlSelect1.Multiple)
          {
            Div1.InnerHtml = "You selected:";
            for (int i=0; i<=HtmlSelect1.Items.Count - 1; i++)
            {
              if (HtmlSelect1.Items[i].Selected)
              {
                Div1.InnerHtml += "<br />    " + 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 - AddParsedSubObject - C# Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectAddParsedSubObject 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <option value="Option1">Option1</option>
        <option value="Option2">Option2</option>
        <option value="Option3">Option3</option>
      </aspSample:CustomHtmlSelectAddParsedSubObject>
      </p>
      
      <p>
      <input 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1" />  
      </p>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
<%@ 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 - AddParsedSubObject - 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 />    " & 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 - AddParsedSubObject - VB.NET Example</h3>
            
            <p>
      <aspSample:CustomHtmlSelectAddParsedSubObject 
        id="HtmlSelect1" 
        name="HtmlSelect1"
        runat="server">
        <option value="Option1">Option1</option>
        <option value="Option2">Option2</option>
        <option value="Option3">Option3</option>
      </aspSample:CustomHtmlSelectAddParsedSubObject>
      </p>
      
      <p>
      <input 
        id="HtmlInputButton1" 
        runat="server" 
        type="button" 
        onserverclick="HtmlInputButton1_ServerClick"
        value="Select" 
        name="HtmlInputButton1" />  
      </p>
      
      <br />
      <div id="Div1" runat="server" 
        style="DISPLAY: inline; WIDTH: 256px; HEIGHT: 15px" />
       
        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomHtmlSelectAddParsedSubObject : System.Web.UI.HtmlControls.HtmlSelect
    {
        protected override void AddParsedSubObject(object obj)
        {
            // If the object is a ListItem, then add the ListItem to the Items collection.
            if (obj is System.Web.UI.WebControls.ListItem)
            {
            Items.Add((System.Web.UI.WebControls.ListItem)obj);
            }
            else
            {
            throw new System.Web.HttpException("You cannot have a child control of type " + obj.GetType().Name.ToString());
            }
        }
    }
}
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomHtmlSelectAddParsedSubObject
    Inherits System.Web.UI.HtmlControls.HtmlSelect

    Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)

        ' If the object is a ListItem, then add the ListItem to the Items collection.
        If TypeOf obj Is System.Web.UI.WebControls.ListItem Then
            Items.Add(CType(obj, System.Web.UI.WebControls.ListItem))
        Else
            Throw New System.Web.HttpException("You cannot have a child control of type " + obj.GetType().Name.ToString())
        End If
    End Sub
End Class

注解

AddParsedSubObject方法由 ASP.NET 用于将分析的子控件添加到 HtmlSelect 控件。

适用于