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
- SynchronizationLockException.cs
- EditBehavior.cs
- X509SecurityToken.cs
- EntityKey.cs
- RootNamespaceAttribute.cs
- ClientScriptManager.cs
- DataGridrowEditEndingEventArgs.cs
- DataKey.cs
- EditorOptionAttribute.cs
- TextElementEnumerator.cs
- ClickablePoint.cs
- VBCodeProvider.cs
- ManipulationStartingEventArgs.cs
- NetSectionGroup.cs
- TraceContext.cs
- ContractUtils.cs
- ValidationResult.cs
- DataControlField.cs
- System.Data_BID.cs
- RelatedView.cs
- BinaryFormatter.cs
- GeneratedContractType.cs
- DBSchemaRow.cs
- SingleBodyParameterMessageFormatter.cs
- WindowsContainer.cs
- CodeCommentStatement.cs
- LayoutTable.cs
- Converter.cs
- CryptoApi.cs
- UnSafeCharBuffer.cs
- GradientStop.cs
- ListControlConvertEventArgs.cs
- CornerRadius.cs
- WpfKnownMemberInvoker.cs
- precedingsibling.cs
- InertiaTranslationBehavior.cs
- DataObjectMethodAttribute.cs
- MultiTrigger.cs
- BadImageFormatException.cs
- securitycriticaldataformultiplegetandset.cs
- XmlSchemaComplexContentRestriction.cs
- ComplexBindingPropertiesAttribute.cs
- FixUp.cs
- Form.cs
- RotationValidation.cs
- XsdDuration.cs
- SHA512.cs
- SecurityState.cs
- TemplateParser.cs
- DictationGrammar.cs
- Delay.cs
- HttpRuntimeSection.cs
- SchemaObjectWriter.cs
- QilStrConcatenator.cs
- CreateUserWizard.cs
- SystemKeyConverter.cs
- EdmScalarPropertyAttribute.cs
- PasswordRecovery.cs
- SiteMapDesignerDataSourceView.cs
- AppLevelCompilationSectionCache.cs
- InputReportEventArgs.cs
- PlanCompilerUtil.cs
- PropertyMapper.cs
- RowTypeElement.cs
- JapaneseLunisolarCalendar.cs
- ProvidePropertyAttribute.cs
- CurrentChangingEventManager.cs
- TabControlEvent.cs
- ConfigXmlCDataSection.cs
- TextAction.cs
- MaxSessionCountExceededException.cs
- GridViewPageEventArgs.cs
- MetadataItemSerializer.cs
- UndirectedGraph.cs
- DeviceSpecific.cs
- MemberAssignment.cs
- FileDialog.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- Configuration.cs
- LocatorManager.cs
- FileRegion.cs
- DataGridViewControlCollection.cs
- Debugger.cs
- EventLogEntry.cs
- XPathQilFactory.cs
- DataGridViewCellStateChangedEventArgs.cs
- MasterPageCodeDomTreeGenerator.cs
- HttpRuntimeSection.cs
- FullTrustAssembliesSection.cs
- ConstraintManager.cs
- DesignerTransactionCloseEvent.cs
- ArraySegment.cs
- ObjectStateEntry.cs
- _FtpDataStream.cs
- DataServiceRequestException.cs
- NavigationProperty.cs
- ContextConfiguration.cs
- SendAgentStatusRequest.cs
- NumberAction.cs
- HMACSHA256.cs