Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / HTMLTagNameToTypeMapper.cs / 2 / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlParameter.cs
- OutputScopeManager.cs
- CaseInsensitiveHashCodeProvider.cs
- Base64Stream.cs
- WebResponse.cs
- CultureSpecificStringDictionary.cs
- VirtualDirectoryMapping.cs
- OdbcParameterCollection.cs
- ProfileService.cs
- IgnoreSection.cs
- ControlTemplate.cs
- AsymmetricSignatureDeformatter.cs
- IPipelineRuntime.cs
- CustomAttribute.cs
- ContourSegment.cs
- ParsedAttributeCollection.cs
- TextFormatterContext.cs
- DBCommandBuilder.cs
- EditBehavior.cs
- WebPartZone.cs
- SparseMemoryStream.cs
- ItemChangedEventArgs.cs
- Size.cs
- RightsManagementEncryptedStream.cs
- ProtocolsSection.cs
- Int32Converter.cs
- SQLDecimal.cs
- SR.cs
- PackageStore.cs
- HeaderedItemsControl.cs
- WindowsProgressbar.cs
- SafeCloseHandleCritical.cs
- LogFlushAsyncResult.cs
- RegisteredHiddenField.cs
- MatrixStack.cs
- DataControlLinkButton.cs
- Accessible.cs
- HttpConfigurationContext.cs
- UInt16.cs
- SqlTypesSchemaImporter.cs
- TimeSpan.cs
- SHA512Managed.cs
- DefaultMemberAttribute.cs
- ObjectQuery_EntitySqlExtensions.cs
- DataGridViewEditingControlShowingEventArgs.cs
- EFTableProvider.cs
- GorillaCodec.cs
- DoubleConverter.cs
- ClientRolePrincipal.cs
- VectorKeyFrameCollection.cs
- Types.cs
- LinqExpressionNormalizer.cs
- ImageClickEventArgs.cs
- PrefixHandle.cs
- EqualityComparer.cs
- FileLoadException.cs
- IPAddressCollection.cs
- OneOf.cs
- WindowInteractionStateTracker.cs
- ExternalFile.cs
- ExecutionContext.cs
- EntityViewGenerationAttribute.cs
- Cursor.cs
- FontWeights.cs
- ExpressionBuilder.cs
- Pair.cs
- OneOfElement.cs
- Padding.cs
- ServiceOperationUIEditor.cs
- HttpContext.cs
- SoapTypeAttribute.cs
- TextContainer.cs
- TraceContextEventArgs.cs
- AvTraceFormat.cs
- CodeExporter.cs
- XpsImageSerializationService.cs
- NativeActivityMetadata.cs
- OleDbErrorCollection.cs
- DesignerAttributeInfo.cs
- ActiveXContainer.cs
- BindingListCollectionView.cs
- XPathParser.cs
- ConstructorBuilder.cs
- Image.cs
- Rect3DConverter.cs
- CommandEventArgs.cs
- SqlException.cs
- HelloOperationAsyncResult.cs
- DbDataAdapter.cs
- SafeIUnknown.cs
- XmlObjectSerializer.cs
- CodeCatchClause.cs
- TextReader.cs
- AstTree.cs
- TimerElapsedEvenArgs.cs
- TypeValidationEventArgs.cs
- _UncName.cs
- CompositionAdorner.cs
- nulltextcontainer.cs
- ButtonBaseAdapter.cs