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
- DBCommandBuilder.cs
- NetDataContractSerializer.cs
- GeneralTransform3DCollection.cs
- XmlSchemaSequence.cs
- ClientSettingsProvider.cs
- AggregatePushdown.cs
- CodeSpit.cs
- SessionSwitchEventArgs.cs
- SymmetricKey.cs
- Form.cs
- ToolStripItemRenderEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- NoResizeHandleGlyph.cs
- InternalRelationshipCollection.cs
- XmlSchemaSimpleContentExtension.cs
- ScriptingSectionGroup.cs
- LeftCellWrapper.cs
- RowToFieldTransformer.cs
- Border.cs
- HtmlElementErrorEventArgs.cs
- FileSystemWatcher.cs
- PingReply.cs
- ThicknessKeyFrameCollection.cs
- EventWaitHandle.cs
- linebase.cs
- WorkflowDurableInstance.cs
- ZoneMembershipCondition.cs
- RegisteredScript.cs
- X509RecipientCertificateClientElement.cs
- DataBindingCollection.cs
- OdbcDataReader.cs
- GcSettings.cs
- SafeRightsManagementSessionHandle.cs
- Unit.cs
- Matrix.cs
- HwndSourceKeyboardInputSite.cs
- TextWriter.cs
- FreezableOperations.cs
- HttpSocketManager.cs
- ArraySortHelper.cs
- MulticastOption.cs
- MemberListBinding.cs
- ChameleonKey.cs
- XmlNavigatorFilter.cs
- DesignerWidgets.cs
- StretchValidation.cs
- Point3DAnimationBase.cs
- MethodBody.cs
- LocationSectionRecord.cs
- DataTemplateSelector.cs
- ToolStripItemTextRenderEventArgs.cs
- FollowerQueueCreator.cs
- BrowserCapabilitiesCompiler.cs
- StaticDataManager.cs
- localization.cs
- HtmlContainerControl.cs
- Visual3DCollection.cs
- XPathBinder.cs
- formatstringdialog.cs
- SchemaNames.cs
- PropertyInfoSet.cs
- PageTheme.cs
- Listbox.cs
- TabItemAutomationPeer.cs
- SafeViewOfFileHandle.cs
- ChangesetResponse.cs
- ExpandCollapsePatternIdentifiers.cs
- InternalConfigHost.cs
- RSAPKCS1SignatureFormatter.cs
- XomlCompilerError.cs
- FieldNameLookup.cs
- CommonDialog.cs
- XmlNamedNodeMap.cs
- ImageListStreamer.cs
- SystemMulticastIPAddressInformation.cs
- DesignerForm.cs
- RepeatInfo.cs
- ReliabilityContractAttribute.cs
- EditorPartChrome.cs
- VScrollBar.cs
- PermissionSet.cs
- FormatterConverter.cs
- HtmlElementErrorEventArgs.cs
- WindowsTokenRoleProvider.cs
- DurableInstance.cs
- InstanceStoreQueryResult.cs
- LicenseException.cs
- TextDecorationCollectionConverter.cs
- MarkupCompilePass2.cs
- DataTableReaderListener.cs
- KoreanCalendar.cs
- SamlSubjectStatement.cs
- BoundConstants.cs
- SpeechUI.cs
- ExpandedWrapper.cs
- LocalBuilder.cs
- WebEventTraceProvider.cs
- Operand.cs
- _LoggingObject.cs
- PropertyTabAttribute.cs