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
- ClientBuildManagerCallback.cs
- TrackingMemoryStream.cs
- HtmlFormWrapper.cs
- CompModSwitches.cs
- AttributeAction.cs
- HttpErrorTraceRecord.cs
- ASCIIEncoding.cs
- LockingPersistenceProvider.cs
- Converter.cs
- DecimalKeyFrameCollection.cs
- MultiViewDesigner.cs
- DbProviderConfigurationHandler.cs
- TypeConverterHelper.cs
- Win32Native.cs
- AppSettingsReader.cs
- ResourceReferenceExpressionConverter.cs
- MenuCommandService.cs
- ActiveXHost.cs
- XmlSerializerFactory.cs
- IdentifierService.cs
- LifetimeServices.cs
- ExplicitDiscriminatorMap.cs
- TextEndOfLine.cs
- TrustManagerPromptUI.cs
- IdentityManager.cs
- ByValueEqualityComparer.cs
- EntityConnectionStringBuilderItem.cs
- complextypematerializer.cs
- UnsafeNativeMethods.cs
- SqlReferenceCollection.cs
- HttpModuleCollection.cs
- DetailsViewRowCollection.cs
- TemplateControlBuildProvider.cs
- HtmlTextBoxAdapter.cs
- HtmlInputControl.cs
- MsiStyleLogWriter.cs
- UpdateException.cs
- StoreItemCollection.cs
- ColumnProvider.cs
- TypeValidationEventArgs.cs
- validationstate.cs
- PropertyPath.cs
- EventMappingSettingsCollection.cs
- ReadOnlyDataSource.cs
- ListDictionaryInternal.cs
- HandlerFactoryWrapper.cs
- SubclassTypeValidatorAttribute.cs
- EventMappingSettings.cs
- SchemaObjectWriter.cs
- PointAnimation.cs
- NetCodeGroup.cs
- StringDictionary.cs
- sqlinternaltransaction.cs
- relpropertyhelper.cs
- LinkArea.cs
- ContentPosition.cs
- TextTreeNode.cs
- contentDescriptor.cs
- InternalBase.cs
- MultiView.cs
- Root.cs
- SoapInteropTypes.cs
- DesignerActionItem.cs
- Pool.cs
- Profiler.cs
- UnionQueryOperator.cs
- AttributeCollection.cs
- StylusEditingBehavior.cs
- RawKeyboardInputReport.cs
- StatusBarItemAutomationPeer.cs
- DbProviderFactoriesConfigurationHandler.cs
- HwndKeyboardInputProvider.cs
- WizardDesigner.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ToggleButtonAutomationPeer.cs
- KeyMatchBuilder.cs
- xsdvalidator.cs
- NativeMethodsOther.cs
- SystemWebCachingSectionGroup.cs
- AspCompat.cs
- HierarchicalDataTemplate.cs
- SafeWaitHandle.cs
- RectIndependentAnimationStorage.cs
- CodeGeneratorOptions.cs
- LinqDataSourceDisposeEventArgs.cs
- ObjectIDGenerator.cs
- ElementNotEnabledException.cs
- Crc32Helper.cs
- DataGridViewElement.cs
- TextEvent.cs
- SelectionListComponentEditor.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ServiceBusyException.cs
- PageSetupDialog.cs
- FloaterParagraph.cs
- EmptyReadOnlyDictionaryInternal.cs
- UInt32Storage.cs
- DateTimeUtil.cs
- PipelineModuleStepContainer.cs
- FormViewModeEventArgs.cs