This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

HtmlSelectBuilder الفئة

Visual Studio 2010

تعامل مع محلل لإنشاء HtmlSelectعنصر تحكم.

مساحة الاسم:  System.Web.UI.HtmlControls
التجميع:  System.Web (في System.Web.dll)

public class HtmlSelectBuilder : ControlBuilder

HtmlSelectBuilder عنصر تحكم تتفاعل مع محلل الصفحة لإنشاء HtmlSelectعنصر تحكم. استخدام HtmlSelectBuilderعنصر التحكم لتخصيص تحليل HtmlSelectعنصر التحكم.

AllowWhitespaceLiterals تم تعيين خاصية إلى falseحيث دائماً يتم تجاهل المسافات البيضاء. استخدام GetChildControlTypeأسلوب لتحديد النوع HtmlSelectعنصر تحكم's التابعة عنصر تحكم s.

ملاحظات للمسئولين عن الإرث

إلى إنشاء منشيء عنصر تحكم مخصص HtmlSelectعنصر التحكم، يجب أن يورث من هذا فئة.

يوضح المثال تعليمات برمجية التالي كيفية إنشاء مخصص HtmlSelectBuilderعنصر تحكم التي تعرف نوعين من أنواع <option>العناصر التابعة لمخصص HtmlSelectعنصر تحكم وثم يعالج كل نوع مختلف.


<%@ Page Language="C#"%>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>

<!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 runat="server">
    <title>HtmlSelectBuilder Example</title>
</head>
  <body>
    <form id="Form1" runat="server">
      <h3>HtmlSelectBuilder Example</h3>

      <aspSample:CustomHtmlSelect
       id="customhtmlselect1"
       runat="server">
      <aspSample:MyOption1 optionid="option1" value="1" text="item 1"/>
      <aspSample:MyOption1 optionid="option2" value="2" text="item 2"/>
      <aspSample:MyOption2 optionid="option3" value="3" text="item 3"/>
      <aspSample:MyOption2 optionid="option4" value="4" text="item 4"/>
      </aspSample:CustomHtmlSelect>

    </form>

  </body>

</html>



using System;
using System.Security.Permissions;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS.Controls
{
        // Define a type of child control for the custom HtmlSelect control.
	public class MyOption1
	{
		string _id;
		string _value;
		string _text;

		public string optionid
		{
			get
			{ return _id; }
			set
			{ _id = value; }
		}

		public string value
		{
			get
			{ return _value; }
			set
			{ _value = value; }
		}

		public string text
		{
			get
			{ return _text; }
			set
			{ _text = value; }
		}
	}

       // Define a type of child control for the custom HtmlSelect control.
	public class MyOption2
	{
		string _id;
		string _value;
		string _text;

		public string optionid
		{
			get
			{ return _id; }
			set
			{ _id = value; }
		}

		public string value
		{
			get
			{ return _value; }
			set
			{ _value = value; }
		}

		public string text
		{
			get
			{ return _text; }
			set
			{ _text = value; }
		}
	}

	// Define a custom HtmlSelectBuilder control.
	public class MyHtmlSelectBuilder : HtmlSelectBuilder
	{
		[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
		public override Type GetChildControlType(string tagName, IDictionary attribs)
		{
			// Distinguish between two possible types of child controls.
			if (tagName.ToLower().EndsWith("myoption1"))
			{
				return typeof(MyOption1);
			}
			else if (tagName.ToLower().EndsWith("myoption2"))
			{
				return typeof(MyOption2);
			}
			return null;
		}

	}

	[ControlBuilderAttribute(typeof(MyHtmlSelectBuilder))]
	public class CustomHtmlSelect : HtmlSelect
	{
		
		// Override AddParsedSubObject to treat the two types
		// of child controls differently.
		protected override void AddParsedSubObject(object obj)
		{
			string _outputtext;
			if (obj is MyOption1)
			{
				_outputtext = "option group 1: " + ((MyOption1)obj).text;
				ListItem li = new ListItem(_outputtext, ((MyOption1)obj).value);
				base.Items.Add(li);
			}
			if (obj is MyOption2)
			{
				_outputtext = "option group 2: " + ((MyOption2)obj).text;
				ListItem li = new ListItem(_outputtext, ((MyOption2)obj).value);
				base.Items.Add(li);
			}
		}

	}

}


System.Object
  System.Web.UI.ControlBuilder
    System.Web.UI.HtmlControls.HtmlSelectBuilder

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: