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
- RequestResizeEvent.cs
- GregorianCalendar.cs
- BitmapCacheBrush.cs
- FacetDescriptionElement.cs
- DictionaryEntry.cs
- Reference.cs
- LassoHelper.cs
- HiddenFieldPageStatePersister.cs
- ResXResourceSet.cs
- DBSqlParserColumn.cs
- DispatcherFrame.cs
- TextParentUndoUnit.cs
- COM2Enum.cs
- CallTemplateAction.cs
- MimeMultiPart.cs
- DateTime.cs
- ProfilePropertySettings.cs
- SpeechDetectedEventArgs.cs
- OdbcConnectionFactory.cs
- ParameterRetriever.cs
- DocumentViewerConstants.cs
- MenuCommandService.cs
- MiniConstructorInfo.cs
- ValueProviderWrapper.cs
- StructuredTypeEmitter.cs
- HtmlInputButton.cs
- NullableFloatMinMaxAggregationOperator.cs
- SystemBrushes.cs
- ApplicationHost.cs
- ClientOptions.cs
- Util.cs
- BordersPage.cs
- _NtlmClient.cs
- Win32.cs
- StorageScalarPropertyMapping.cs
- BrowserTree.cs
- HttpRequestContext.cs
- SubMenuStyleCollection.cs
- HttpDebugHandler.cs
- Win32Exception.cs
- TabRenderer.cs
- TableRow.cs
- PixelShader.cs
- GlyphCache.cs
- TypeConverterHelper.cs
- Vector3DCollection.cs
- ControlIdConverter.cs
- AttributeProviderAttribute.cs
- CounterSampleCalculator.cs
- RoleGroup.cs
- XmlHelper.cs
- PackageProperties.cs
- ChtmlPageAdapter.cs
- X509CertificateValidationMode.cs
- Hashtable.cs
- CompositeFontFamily.cs
- VirtualDirectoryMapping.cs
- ResourcePermissionBase.cs
- XmlSchemaImporter.cs
- ExtendedTransformFactory.cs
- FixedHighlight.cs
- HyperLinkDataBindingHandler.cs
- DragDeltaEventArgs.cs
- DataControlButton.cs
- GroupJoinQueryOperator.cs
- Matrix3D.cs
- SQLGuid.cs
- PropertyPathWorker.cs
- EntityDataReader.cs
- WindowsListViewSubItem.cs
- ValidationError.cs
- CodeCommentStatement.cs
- Table.cs
- SafeProcessHandle.cs
- SqlCrossApplyToCrossJoin.cs
- Collection.cs
- AspCompat.cs
- PerformanceCountersElement.cs
- TemplateControlParser.cs
- Html32TextWriter.cs
- recordstatefactory.cs
- WebBrowserProgressChangedEventHandler.cs
- OpacityConverter.cs
- HtmlInputSubmit.cs
- DbMetaDataFactory.cs
- TokenizerHelper.cs
- ToolStripSeparatorRenderEventArgs.cs
- BufferedStream.cs
- LogoValidationException.cs
- HashCodeCombiner.cs
- PersonalizationState.cs
- DropDownButton.cs
- SHA256.cs
- SortAction.cs
- SchemaUtility.cs
- EqualityComparer.cs
- XmlNamespaceManager.cs
- SecUtil.cs
- Graphics.cs
- SettingsPropertyValue.cs