Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / HTMLTagNameToTypeMapper.cs / 1 / 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
- PerformanceCounterPermission.cs
- UIntPtr.cs
- ObjectDataSourceView.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- FontInfo.cs
- MgmtConfigurationRecord.cs
- WebBrowserBase.cs
- base64Transforms.cs
- Table.cs
- ErrorTolerantObjectWriter.cs
- HtmlElementEventArgs.cs
- OwnerDrawPropertyBag.cs
- FontDifferentiator.cs
- Parsers.cs
- IpcChannelHelper.cs
- DoubleLinkListEnumerator.cs
- ActiveDocumentEvent.cs
- VectorValueSerializer.cs
- MailMessageEventArgs.cs
- COM2PropertyDescriptor.cs
- WaitHandle.cs
- MSAAWinEventWrap.cs
- ListControlConvertEventArgs.cs
- ExtensibleClassFactory.cs
- AppDomainProtocolHandler.cs
- MembershipAdapter.cs
- TreeViewHitTestInfo.cs
- XmlFormatExtensionPrefixAttribute.cs
- DataObjectSettingDataEventArgs.cs
- ReadOnlyTernaryTree.cs
- BooleanFacetDescriptionElement.cs
- AuthorizationRule.cs
- processwaithandle.cs
- SpellerError.cs
- SqlConnection.cs
- X500Name.cs
- AlternateViewCollection.cs
- TextBoxLine.cs
- Selector.cs
- RequestUriProcessor.cs
- MethodMessage.cs
- ToolboxSnapDragDropEventArgs.cs
- Journal.cs
- MarshalByValueComponent.cs
- PrimitiveList.cs
- TextTreeDeleteContentUndoUnit.cs
- ObjectStateFormatter.cs
- PropertyConverter.cs
- PolyBezierSegment.cs
- Base64Decoder.cs
- TargetControlTypeCache.cs
- OpCodes.cs
- Token.cs
- DBDataPermissionAttribute.cs
- ValueExpressions.cs
- FormsAuthenticationTicket.cs
- DisplayNameAttribute.cs
- PocoPropertyAccessorStrategy.cs
- DesigntimeLicenseContext.cs
- XmlDataSourceView.cs
- XmlSchemaRedefine.cs
- ProfileInfo.cs
- GuidelineSet.cs
- CodeLinePragma.cs
- RectangleConverter.cs
- ChtmlMobileTextWriter.cs
- WorkItem.cs
- XmlSchemaAttributeGroupRef.cs
- SafeProcessHandle.cs
- XmlSchemaComplexContentExtension.cs
- AutomationPatternInfo.cs
- InkPresenter.cs
- LocalIdKeyIdentifierClause.cs
- Fonts.cs
- EmptyElement.cs
- PropertyGridView.cs
- QilTernary.cs
- ScrollProviderWrapper.cs
- MasterPageParser.cs
- AncestorChangedEventArgs.cs
- EntitySqlQueryBuilder.cs
- XomlCompilerResults.cs
- BinaryFormatterWriter.cs
- WrapPanel.cs
- DataFormat.cs
- Proxy.cs
- KoreanCalendar.cs
- InvokeBinder.cs
- MostlySingletonList.cs
- ResourcePart.cs
- CheckPair.cs
- PeerResolverBindingElement.cs
- TdsParserStaticMethods.cs
- RIPEMD160.cs
- RotateTransform.cs
- ActivityDesignerHelper.cs
- DataServiceQuery.cs
- JobStaple.cs
- SplitContainer.cs
- ActivityInfo.cs