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
- MediaEntryAttribute.cs
- FixedPageProcessor.cs
- ISO2022Encoding.cs
- XmlChoiceIdentifierAttribute.cs
- OdbcReferenceCollection.cs
- ComponentResourceManager.cs
- Win32.cs
- UrlMapping.cs
- TypeSystem.cs
- Int16Animation.cs
- DefaultProxySection.cs
- SiteMap.cs
- CommandID.cs
- RuntimeCompatibilityAttribute.cs
- TextEndOfSegment.cs
- InvalidOperationException.cs
- PolicyException.cs
- EventToken.cs
- ObfuscationAttribute.cs
- EventProviderWriter.cs
- Parallel.cs
- DataControlFieldCell.cs
- PrimitiveSchema.cs
- UnsafeNativeMethods.cs
- DockAndAnchorLayout.cs
- ArraySubsetEnumerator.cs
- ItemCheckEvent.cs
- UpnEndpointIdentity.cs
- GlyphRunDrawing.cs
- ChooseAction.cs
- Range.cs
- Win32NamedPipes.cs
- DrawingAttributesDefaultValueFactory.cs
- MailMessageEventArgs.cs
- CompilerState.cs
- UrlPath.cs
- BitmapEffectOutputConnector.cs
- ActivityCodeDomReferenceService.cs
- Win32.cs
- XmlBaseWriter.cs
- PageParserFilter.cs
- CqlQuery.cs
- InvalidCommandTreeException.cs
- DocumentPageHost.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- HostExecutionContextManager.cs
- LoggedException.cs
- FlowDocumentPaginator.cs
- JsonFormatWriterGenerator.cs
- SHA1Managed.cs
- PerformanceCounterManager.cs
- DataBoundControlHelper.cs
- PublishLicense.cs
- RightsManagementPermission.cs
- PlanCompiler.cs
- SafeLibraryHandle.cs
- TextTabProperties.cs
- EntityDataSourceStatementEditor.cs
- XmlSchemaValidator.cs
- TriggerCollection.cs
- XmlSchemaCompilationSettings.cs
- SafeReversePInvokeHandle.cs
- JavascriptXmlWriterWrapper.cs
- ExpressionReplacer.cs
- glyphs.cs
- Rect.cs
- XmlSchemaGroup.cs
- SystemBrushes.cs
- NetworkStream.cs
- DateTimeConverter.cs
- ElementsClipboardData.cs
- NativeMethods.cs
- ComNativeDescriptor.cs
- PeerHelpers.cs
- ReliabilityContractAttribute.cs
- Point3DAnimationBase.cs
- HwndProxyElementProvider.cs
- CustomTrackingRecord.cs
- NavigationProgressEventArgs.cs
- Converter.cs
- DataStreams.cs
- ObsoleteAttribute.cs
- diagnosticsswitches.cs
- HtmlToClrEventProxy.cs
- VersionedStream.cs
- CaseExpr.cs
- LineMetrics.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- WindowsFormsSynchronizationContext.cs
- MemberDescriptor.cs
- BuildProvider.cs
- OracleMonthSpan.cs
- LoadGrammarCompletedEventArgs.cs
- ChannelListenerBase.cs
- LayoutTableCell.cs
- ApplicationProxyInternal.cs
- BulletDecorator.cs
- PropertyRecord.cs
- LineGeometry.cs
- SqlException.cs