Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TimeSpanValidator.cs
- SrgsRuleRef.cs
- Message.cs
- SimpleBitVector32.cs
- VirtualizingPanel.cs
- UriTemplate.cs
- ReflectionTypeLoadException.cs
- BindValidator.cs
- RectAnimation.cs
- Object.cs
- MainMenu.cs
- HttpsTransportBindingElement.cs
- Identity.cs
- SchemaTableColumn.cs
- HyperLinkField.cs
- ChangesetResponse.cs
- HttpTransportElement.cs
- SeekableReadStream.cs
- Part.cs
- PointHitTestParameters.cs
- FlowLayoutPanelDesigner.cs
- CatalogZoneBase.cs
- Border.cs
- WebPartTracker.cs
- EmptyControlCollection.cs
- Tuple.cs
- CommandBinding.cs
- PersonalizationEntry.cs
- DesignRelation.cs
- OuterGlowBitmapEffect.cs
- MenuItemStyleCollection.cs
- ImplicitInputBrush.cs
- MdImport.cs
- GPRECT.cs
- SpStreamWrapper.cs
- KeyboardNavigation.cs
- ConfigXmlSignificantWhitespace.cs
- UrlPath.cs
- CollectionConverter.cs
- XmlUtilWriter.cs
- XpsLiterals.cs
- MissingFieldException.cs
- NetCodeGroup.cs
- ByteAnimation.cs
- WeakReadOnlyCollection.cs
- ScrollBarRenderer.cs
- CommandManager.cs
- SecurityAppliedMessage.cs
- XmlSchemaCompilationSettings.cs
- AnimationLayer.cs
- QueryOutputWriter.cs
- SafeLocalAllocation.cs
- SchemaTableOptionalColumn.cs
- DataGridViewCellMouseEventArgs.cs
- TransformerTypeCollection.cs
- ZeroOpNode.cs
- XmlAttributeOverrides.cs
- QilInvokeEarlyBound.cs
- ReservationCollection.cs
- ZipIOLocalFileDataDescriptor.cs
- DropShadowEffect.cs
- Margins.cs
- HtmlControlPersistable.cs
- XmlDeclaration.cs
- ProxyOperationRuntime.cs
- CryptoConfig.cs
- PageWrapper.cs
- GridViewRow.cs
- CodeDomSerializer.cs
- SqlRowUpdatingEvent.cs
- DataGridRow.cs
- IDQuery.cs
- TextServicesDisplayAttribute.cs
- DynamicObject.cs
- Localizer.cs
- TimeSpanHelper.cs
- Enum.cs
- RectKeyFrameCollection.cs
- XmlSchemaSimpleContent.cs
- SparseMemoryStream.cs
- CacheAxisQuery.cs
- MergeFilterQuery.cs
- ToolStripGrip.cs
- SoapMessage.cs
- wgx_commands.cs
- MeasurementDCInfo.cs
- EntityClientCacheEntry.cs
- ObjectMemberMapping.cs
- QueryableFilterRepeater.cs
- ObjectToIdCache.cs
- SmtpReplyReader.cs
- GeneralTransformGroup.cs
- HtmlInputButton.cs
- CollectionEditVerbManager.cs
- RuleConditionDialog.Designer.cs
- XmlSchemaCompilationSettings.cs
- RSAOAEPKeyExchangeFormatter.cs
- PersistChildrenAttribute.cs
- ExceptionHelpers.cs
- MetricEntry.cs