Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- WebPartEditVerb.cs
- elementinformation.cs
- EntityDataSourceWrapperCollection.cs
- ScriptRegistrationManager.cs
- DataGridViewRowCancelEventArgs.cs
- ToolStripOverflow.cs
- DelegatingMessage.cs
- RoleGroup.cs
- GreenMethods.cs
- __ComObject.cs
- AndCondition.cs
- BufferedReadStream.cs
- AmbientProperties.cs
- ActiveXContainer.cs
- RawStylusInputCustomData.cs
- ActivationArguments.cs
- SqlConnectionFactory.cs
- SQLMoneyStorage.cs
- ThreadStaticAttribute.cs
- XmlIlGenerator.cs
- DataSourceSelectArguments.cs
- HierarchicalDataTemplate.cs
- CharacterMetrics.cs
- ClientTarget.cs
- DataServiceConfiguration.cs
- TraceListeners.cs
- AsyncResult.cs
- XPathQilFactory.cs
- DataTableMapping.cs
- ModelPerspective.cs
- SiteMapDataSourceDesigner.cs
- WindowsStartMenu.cs
- Util.cs
- ZipIOFileItemStream.cs
- EventMap.cs
- NeutralResourcesLanguageAttribute.cs
- VisualTransition.cs
- ParameterReplacerVisitor.cs
- Converter.cs
- HttpModuleCollection.cs
- RadioButtonFlatAdapter.cs
- WebServiceBindingAttribute.cs
- ContainerParaClient.cs
- HybridCollection.cs
- ValueQuery.cs
- Environment.cs
- TemplateComponentConnector.cs
- QueryContinueDragEvent.cs
- SafeFindHandle.cs
- PeerObject.cs
- Pkcs9Attribute.cs
- RepeaterCommandEventArgs.cs
- EmptyControlCollection.cs
- AuthorizationRule.cs
- VersionedStream.cs
- ProfileSection.cs
- AnchorEditor.cs
- DashStyle.cs
- DataKeyCollection.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- PasswordBoxAutomationPeer.cs
- LookupBindingPropertiesAttribute.cs
- CalendarButton.cs
- ISAPIRuntime.cs
- Matrix.cs
- WebPartEditorCancelVerb.cs
- ProxyGenerator.cs
- WebPartEventArgs.cs
- ConstructorNeedsTagAttribute.cs
- GeometryModel3D.cs
- CacheHelper.cs
- Underline.cs
- OdbcError.cs
- IndexOutOfRangeException.cs
- DbConvert.cs
- ExtensibleClassFactory.cs
- XmlEventCache.cs
- UrlPropertyAttribute.cs
- GridEntryCollection.cs
- ConfigurationPermission.cs
- TextProperties.cs
- SchemaCollectionCompiler.cs
- SelectionHighlightInfo.cs
- ParameterCollection.cs
- Marshal.cs
- SplitterPanelDesigner.cs
- FactorySettingsElement.cs
- XmlQueryContext.cs
- WebMessageEncodingBindingElement.cs
- WhitespaceRuleLookup.cs
- Pair.cs
- Rect3DConverter.cs
- QuadraticBezierSegment.cs
- HandleCollector.cs
- VectorValueSerializer.cs
- CompilerGeneratedAttribute.cs
- GlobalProxySelection.cs
- TreeBuilder.cs
- CommonXSendMessage.cs
- WhitespaceRuleLookup.cs