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
- HandlerBase.cs
- AnimationClock.cs
- Point3DCollectionValueSerializer.cs
- TypeConverterMarkupExtension.cs
- EnumMember.cs
- PropertyNames.cs
- KeyConverter.cs
- Utility.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- GridViewCancelEditEventArgs.cs
- HttpTransportElement.cs
- TextParaLineResult.cs
- AdPostCacheSubstitution.cs
- TransactionChannel.cs
- LayoutEngine.cs
- RadioButtonList.cs
- SocketAddress.cs
- DataGridViewCheckBoxColumn.cs
- DrawingServices.cs
- XmlExtensionFunction.cs
- Route.cs
- SqlWriter.cs
- SerializationSectionGroup.cs
- SemanticResolver.cs
- RootProjectionNode.cs
- SetterBaseCollection.cs
- graph.cs
- Query.cs
- PenContexts.cs
- TableLayoutRowStyleCollection.cs
- GlobalAllocSafeHandle.cs
- BitVector32.cs
- StylusPointProperty.cs
- GridViewHeaderRowPresenter.cs
- SystemIPAddressInformation.cs
- DataRowExtensions.cs
- LinkClickEvent.cs
- ExceptionValidationRule.cs
- EventToken.cs
- EncodingNLS.cs
- SoapIncludeAttribute.cs
- WebControlsSection.cs
- MgmtConfigurationRecord.cs
- RotateTransform.cs
- SqlDataSourceDesigner.cs
- PeerObject.cs
- NameObjectCollectionBase.cs
- JulianCalendar.cs
- InfoCardArgumentException.cs
- ItemDragEvent.cs
- DocumentSequenceHighlightLayer.cs
- DockPattern.cs
- DataSourceListEditor.cs
- BatchParser.cs
- CompositeKey.cs
- DbConnectionPool.cs
- ChildChangedEventArgs.cs
- SoapEnumAttribute.cs
- QueryRewriter.cs
- InternalConfigConfigurationFactory.cs
- Matrix.cs
- ValueTable.cs
- rsa.cs
- IconConverter.cs
- _emptywebproxy.cs
- ClientScriptManager.cs
- IgnorePropertiesAttribute.cs
- FilterableAttribute.cs
- DataGridViewCellLinkedList.cs
- validation.cs
- Models.cs
- DataColumnPropertyDescriptor.cs
- Char.cs
- Activator.cs
- BitmapEffectInput.cs
- DelimitedListTraceListener.cs
- CacheVirtualItemsEvent.cs
- PrtCap_Reader.cs
- SchemaMapping.cs
- AnnouncementInnerClient11.cs
- CodeIdentifier.cs
- __Error.cs
- XmlWellformedWriter.cs
- XmlDictionaryReaderQuotas.cs
- MsmqIntegrationProcessProtocolHandler.cs
- WebPartZoneCollection.cs
- DefaultHttpHandler.cs
- SqlServer2KCompatibilityAnnotation.cs
- LightweightEntityWrapper.cs
- Odbc32.cs
- TransportDefaults.cs
- TraceContext.cs
- TypeSemantics.cs
- ClientBuildManagerCallback.cs
- OpCellTreeNode.cs
- SecUtil.cs
- AlphabetConverter.cs
- HostingPreferredMapPath.cs
- Encoding.cs
- GroupBoxRenderer.cs