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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InitializationEventAttribute.cs
- BoolExpressionVisitors.cs
- SettingsBase.cs
- FixedHighlight.cs
- SamlAttribute.cs
- EdmComplexTypeAttribute.cs
- ToolBarButton.cs
- SqlVisitor.cs
- SessionStateSection.cs
- GeometryGroup.cs
- TextFormatterContext.cs
- PasswordRecoveryAutoFormat.cs
- IndentTextWriter.cs
- InvalidWMPVersionException.cs
- DocumentReference.cs
- TableLayout.cs
- SerializerWriterEventHandlers.cs
- DesignerActionUI.cs
- OperatorExpressions.cs
- x509utils.cs
- EnumerableCollectionView.cs
- NativeMethods.cs
- PointLightBase.cs
- DataGridCommandEventArgs.cs
- PenContext.cs
- PageHandlerFactory.cs
- BrowsableAttribute.cs
- MSAAEventDispatcher.cs
- ThreadStaticAttribute.cs
- RankException.cs
- ReadOnlyCollectionBase.cs
- CryptoStream.cs
- PartManifestEntry.cs
- FrameworkObject.cs
- DataGridViewCellValidatingEventArgs.cs
- CodeTypeParameter.cs
- sqlnorm.cs
- EncodingNLS.cs
- MenuCommandService.cs
- SpinWait.cs
- TextElementAutomationPeer.cs
- EmptyImpersonationContext.cs
- ValueTable.cs
- Point4DConverter.cs
- SchemaInfo.cs
- __TransparentProxy.cs
- Int64Storage.cs
- ConnectionPoolManager.cs
- _HeaderInfoTable.cs
- DynamicQueryStringParameter.cs
- AliasedSlot.cs
- EditCommandColumn.cs
- FileUtil.cs
- StorageEntitySetMapping.cs
- UpdateProgress.cs
- QilXmlReader.cs
- StylusOverProperty.cs
- PeerApplicationLaunchInfo.cs
- WSFederationHttpBindingCollectionElement.cs
- dtdvalidator.cs
- SQLMembershipProvider.cs
- WebPartTransformerAttribute.cs
- BooleanFunctions.cs
- TextDocumentView.cs
- EntityDataReader.cs
- QueryContext.cs
- XsltOutput.cs
- SessionParameter.cs
- DataSourceNameHandler.cs
- StreamGeometryContext.cs
- XmlResolver.cs
- DeflateStream.cs
- Baml2006Reader.cs
- Accessible.cs
- BaseCodeDomTreeGenerator.cs
- Point3DAnimation.cs
- ItemAutomationPeer.cs
- WebHttpBindingElement.cs
- WebPartMovingEventArgs.cs
- SingleAnimation.cs
- GradientStopCollection.cs
- DrawingContextDrawingContextWalker.cs
- Debug.cs
- ControllableStoryboardAction.cs
- BindingMAnagerBase.cs
- Image.cs
- WorkflowQueueInfo.cs
- DataGridColumnHeader.cs
- PenThreadWorker.cs
- Int32.cs
- WCFServiceClientProxyGenerator.cs
- SapiRecognizer.cs
- SimpleHandlerFactory.cs
- XmlSchemaValidator.cs
- AndCondition.cs
- HtmlAnchor.cs
- SafeLocalMemHandle.cs
- CodeAttributeDeclaration.cs
- BatchServiceHost.cs
- Tablet.cs