Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / HTMLTagNameToTypeMapper.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RemoteCryptoTokenProvider.cs
- UITypeEditor.cs
- XmlDocumentSurrogate.cs
- PathFigureCollection.cs
- SiteMapNode.cs
- DiscardableAttribute.cs
- DeflateStream.cs
- ThemeDirectoryCompiler.cs
- _RequestCacheProtocol.cs
- UniqueID.cs
- RequestBringIntoViewEventArgs.cs
- XmlConvert.cs
- ProgressBar.cs
- DependencyObjectPropertyDescriptor.cs
- DataSourceView.cs
- GridViewAutomationPeer.cs
- EncodingDataItem.cs
- ImageCodecInfo.cs
- MasterPageCodeDomTreeGenerator.cs
- MessageHeaderAttribute.cs
- _NegotiateClient.cs
- EmptyReadOnlyDictionaryInternal.cs
- OdbcPermission.cs
- TextCollapsingProperties.cs
- log.cs
- ArcSegment.cs
- _TimerThread.cs
- JsonGlobals.cs
- SqlError.cs
- EventLogQuery.cs
- LogicalExpressionTypeConverter.cs
- CustomPopupPlacement.cs
- UrlMapping.cs
- InputProcessorProfiles.cs
- TableLayoutPanel.cs
- SafeReversePInvokeHandle.cs
- coordinatorfactory.cs
- PasswordBox.cs
- _SecureChannel.cs
- TableAdapterManagerNameHandler.cs
- ControlBuilder.cs
- WorkflowMarkupSerializationException.cs
- UnmanagedMemoryStream.cs
- ClipboardData.cs
- XPathNavigatorKeyComparer.cs
- InvalidPipelineStoreException.cs
- RayHitTestParameters.cs
- DeclarativeCatalogPart.cs
- ISAPIApplicationHost.cs
- XmlSigningNodeWriter.cs
- CustomValidator.cs
- RootBrowserWindowAutomationPeer.cs
- TimeIntervalCollection.cs
- TreeViewItemAutomationPeer.cs
- ResourcesGenerator.cs
- HttpCacheVary.cs
- EnumUnknown.cs
- ControlUtil.cs
- BoundPropertyEntry.cs
- InvokeMethod.cs
- KeyInterop.cs
- LongValidator.cs
- ExpanderAutomationPeer.cs
- StylusDevice.cs
- PixelFormats.cs
- UIAgentAsyncParams.cs
- RotateTransform3D.cs
- AccessDataSource.cs
- FastPropertyAccessor.cs
- ScaleTransform3D.cs
- CompareValidator.cs
- NextPreviousPagerField.cs
- XslCompiledTransform.cs
- BitmapSizeOptions.cs
- Error.cs
- NamedPermissionSet.cs
- MailAddressCollection.cs
- DataServiceQueryContinuation.cs
- WorkflowMarkupSerializationProvider.cs
- OdbcError.cs
- PolyLineSegment.cs
- ColumnReorderedEventArgs.cs
- ContractTypeNameCollection.cs
- NumberFunctions.cs
- _HTTPDateParse.cs
- Baml2006KeyRecord.cs
- TemplatedWizardStep.cs
- EmptyStringExpandableObjectConverter.cs
- DataControlCommands.cs
- MapPathBasedVirtualPathProvider.cs
- cryptoapiTransform.cs
- HtmlElementEventArgs.cs
- MultiDataTrigger.cs
- Math.cs
- XsdBuilder.cs
- returneventsaver.cs
- CAGDesigner.cs
- XmlSchemas.cs
- DataGridViewTopLeftHeaderCell.cs
- GACMembershipCondition.cs