Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / HTMLTagNameToTypeMapper.cs / 3 / HTMLTagNameToTypeMapper.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* Mapper of html tags to control types.
*
* Copyright (c) 1998 Microsoft Corporation
*/
namespace System.Web.UI {
using System.ComponentModel;
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Reflection;
using System.Web.UI.HtmlControls;
using System.Web.Util;
using System.Globalization;
internal class HtmlTagNameToTypeMapper : ITagNameToTypeMapper {
static Hashtable _tagMap;
static Hashtable _inputTypes;
internal HtmlTagNameToTypeMapper() {
}
/*public*/ Type ITagNameToTypeMapper.GetControlType(string tagName, IDictionary attributeBag) {
Type controlType;
if (_tagMap == null) {
Hashtable t = new Hashtable(10, StringComparer.OrdinalIgnoreCase);
t.Add("a", typeof(HtmlAnchor));
t.Add("button", typeof(HtmlButton));
t.Add("form", typeof(HtmlForm));
t.Add("head", typeof(HtmlHead));
t.Add("img", typeof(HtmlImage));
t.Add("textarea", typeof(HtmlTextArea));
t.Add("select", typeof(HtmlSelect));
t.Add("table", typeof(HtmlTable));
t.Add("tr", typeof(HtmlTableRow));
t.Add("td", typeof(HtmlTableCell));
t.Add("th", typeof(HtmlTableCell));
_tagMap = t;
}
if (_inputTypes == null) {
Hashtable t = new Hashtable(10, StringComparer.OrdinalIgnoreCase);
t.Add("text", typeof(HtmlInputText));
t.Add("password", typeof(HtmlInputPassword));
t.Add("button", typeof(HtmlInputButton));
t.Add("submit", typeof(HtmlInputSubmit));
t.Add("reset", typeof(HtmlInputReset));
t.Add("image", typeof(HtmlInputImage));
t.Add("checkbox", typeof(HtmlInputCheckBox));
t.Add("radio", typeof(HtmlInputRadioButton));
t.Add("hidden", typeof(HtmlInputHidden));
t.Add("file", typeof(HtmlInputFile));
_inputTypes = t;
}
if (StringUtil.EqualsIgnoreCase("input", tagName)) {
string type = (string)attributeBag["type"];
if (type == null)
type = "text";
controlType = (Type)_inputTypes[type];
if (controlType == null)
throw new HttpException(
SR.GetString(SR.Invalid_type_for_input_tag, type));
}
else {
controlType = (Type)_tagMap[tagName];
if (controlType == null)
controlType = typeof(HtmlGenericControl);
}
return controlType;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParserOptions.cs
- ModelItemKeyValuePair.cs
- TextDpi.cs
- WindowsGraphicsCacheManager.cs
- Parameter.cs
- DoubleLink.cs
- PriorityBindingExpression.cs
- SourceFilter.cs
- Visual3D.cs
- TimeSpanSecondsConverter.cs
- TaskFormBase.cs
- GlobalItem.cs
- RuntimeDelegateArgument.cs
- CrossContextChannel.cs
- Matrix.cs
- WindowsToolbarItemAsMenuItem.cs
- BufferModesCollection.cs
- StringSource.cs
- xsdvalidator.cs
- ImageProxy.cs
- FloaterParaClient.cs
- ErrorEventArgs.cs
- EdmPropertyAttribute.cs
- HttpProxyTransportBindingElement.cs
- HttpHostedTransportConfiguration.cs
- SpeechSynthesizer.cs
- ContentFileHelper.cs
- XmlNavigatorStack.cs
- COAUTHIDENTITY.cs
- WorkflowMessageEventArgs.cs
- Exceptions.cs
- HttpInputStream.cs
- WebServiceClientProxyGenerator.cs
- TdsParser.cs
- MessageEnumerator.cs
- ThreadAttributes.cs
- WindowsRichEditRange.cs
- ReflectionUtil.cs
- Win32MouseDevice.cs
- StructuralCache.cs
- DefaultTraceListener.cs
- AnnotationHelper.cs
- SystemNetHelpers.cs
- listitem.cs
- Timer.cs
- Stream.cs
- MessageLogger.cs
- AssemblyAssociatedContentFileAttribute.cs
- Char.cs
- QueryTask.cs
- ForeignKeyConstraint.cs
- SettingsProperty.cs
- XMLDiffLoader.cs
- ImageIndexConverter.cs
- SqlCaseSimplifier.cs
- GeneralTransform3DTo2D.cs
- SimpleTextLine.cs
- Point3DConverter.cs
- MetadataCollection.cs
- UriTemplateLiteralPathSegment.cs
- HttpRawResponse.cs
- BinaryFormatterWriter.cs
- CounterCreationDataCollection.cs
- SoapAttributes.cs
- StylusPointPropertyInfo.cs
- RectAnimationUsingKeyFrames.cs
- XamlToRtfWriter.cs
- DataGridCaption.cs
- dataprotectionpermissionattribute.cs
- ThrowHelper.cs
- Block.cs
- AutoGeneratedFieldProperties.cs
- OdbcInfoMessageEvent.cs
- CustomLineCap.cs
- ItemsControlAutomationPeer.cs
- XmlSchemaAnnotation.cs
- ExpressionBindingCollection.cs
- JapaneseLunisolarCalendar.cs
- wmiprovider.cs
- SiteMap.cs
- ScaleTransform3D.cs
- ConfigsHelper.cs
- AccessControlEntry.cs
- Int16KeyFrameCollection.cs
- JsonReader.cs
- EdmEntityTypeAttribute.cs
- FormatConvertedBitmap.cs
- TransactionFlowBindingElement.cs
- DataGridViewSelectedCellCollection.cs
- MethodBuilderInstantiation.cs
- ConnectionStringsExpressionBuilder.cs
- OperationInvokerTrace.cs
- TextSyndicationContentKindHelper.cs
- MouseActionValueSerializer.cs
- DataServiceProcessingPipelineEventArgs.cs
- EmptyStringExpandableObjectConverter.cs
- HashHelper.cs
- WindowsListViewItemStartMenu.cs
- PenThreadWorker.cs
- TextDpi.cs