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
- ProfileInfo.cs
- RegionData.cs
- PermissionSetTriple.cs
- LineGeometry.cs
- Win32SafeHandles.cs
- FileDialog_Vista_Interop.cs
- WindowPatternIdentifiers.cs
- MetaColumn.cs
- UnsafeNativeMethods.cs
- TripleDES.cs
- FlowSwitchDesigner.xaml.cs
- MissingMethodException.cs
- VisualCollection.cs
- HtmlAnchor.cs
- MergablePropertyAttribute.cs
- UIElementIsland.cs
- ReferenceConverter.cs
- SqlTriggerContext.cs
- UnsafeNativeMethodsCLR.cs
- CommandManager.cs
- DiagnosticsConfiguration.cs
- TraceListener.cs
- HttpTransportBindingElement.cs
- SmtpException.cs
- HttpServerVarsCollection.cs
- ImportCatalogPart.cs
- IdleTimeoutMonitor.cs
- SystemInfo.cs
- ObjectDataSourceView.cs
- XmlRootAttribute.cs
- Pair.cs
- DataGridViewToolTip.cs
- SyncOperationState.cs
- DocumentPageTextView.cs
- SHA256Managed.cs
- ConfigurationSectionGroupCollection.cs
- XmlObjectSerializerReadContextComplex.cs
- BinaryObjectInfo.cs
- IIS7WorkerRequest.cs
- SQLByteStorage.cs
- Brush.cs
- PolyBezierSegment.cs
- InnerItemCollectionView.cs
- SeverityFilter.cs
- FlowDocumentPaginator.cs
- CapiSafeHandles.cs
- smtpconnection.cs
- Configuration.cs
- StructuredTypeInfo.cs
- ClientReliableChannelBinder.cs
- XPathConvert.cs
- SessionSwitchEventArgs.cs
- Registry.cs
- MemoryStream.cs
- WindowsScroll.cs
- WorkflowItemsPresenter.cs
- Registry.cs
- DataServiceEntityAttribute.cs
- CapabilitiesRule.cs
- XmlDataDocument.cs
- EarlyBoundInfo.cs
- precedingquery.cs
- GetWinFXPath.cs
- TextDecorations.cs
- OperationParameterInfoCollection.cs
- TemplateInstanceAttribute.cs
- Assert.cs
- SqlProviderServices.cs
- SafeNativeMethodsCLR.cs
- ProxyWebPartConnectionCollection.cs
- DrawingDrawingContext.cs
- DynamicMethod.cs
- NameValueCollection.cs
- LocatorPart.cs
- UriExt.cs
- CalendarDay.cs
- LinqExpressionNormalizer.cs
- InvalidOleVariantTypeException.cs
- MenuCommandsChangedEventArgs.cs
- HyperLinkDataBindingHandler.cs
- DoubleAnimation.cs
- DataGridViewRowsRemovedEventArgs.cs
- HtmlHead.cs
- BuildDependencySet.cs
- TextBox.cs
- InvalidPrinterException.cs
- WrappedReader.cs
- TemplatedWizardStep.cs
- Compiler.cs
- MessageSecurityVersion.cs
- ServiceModelExtensionCollectionElement.cs
- WebBrowserProgressChangedEventHandler.cs
- DbConnectionOptions.cs
- DataListItemEventArgs.cs
- Splitter.cs
- DocumentAutomationPeer.cs
- CornerRadiusConverter.cs
- WebErrorHandler.cs
- MailDefinition.cs
- IndexerNameAttribute.cs