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
- InvalidTimeZoneException.cs
- TypefaceMap.cs
- WebPartChrome.cs
- CalendarButton.cs
- ParenExpr.cs
- BooleanToVisibilityConverter.cs
- PrivateFontCollection.cs
- ConnectionStringsExpressionBuilder.cs
- BridgeDataReader.cs
- EncoderFallback.cs
- BadImageFormatException.cs
- EventEntry.cs
- XmlSortKeyAccumulator.cs
- HandlerBase.cs
- WindowsMenu.cs
- GPRECT.cs
- SymmetricKey.cs
- InvalidBodyAccessException.cs
- StorageEntityContainerMapping.cs
- SqlTypeSystemProvider.cs
- TargetControlTypeAttribute.cs
- DataServiceEntityAttribute.cs
- DataRow.cs
- SafeNativeMethods.cs
- WorkflowServiceNamespace.cs
- Debug.cs
- XPathDocumentBuilder.cs
- RootBrowserWindow.cs
- CorrelationToken.cs
- FlagsAttribute.cs
- DynamicFilterExpression.cs
- Authorization.cs
- ImportContext.cs
- httpserverutility.cs
- GlyphRunDrawing.cs
- PrintControllerWithStatusDialog.cs
- PrimitiveRenderer.cs
- Inline.cs
- ProcessThreadCollection.cs
- ScrollChrome.cs
- DefaultSettingsSection.cs
- MaskedTextBox.cs
- PackageDigitalSignature.cs
- WebServiceData.cs
- ListBoxItemWrapperAutomationPeer.cs
- ApplicationSecurityInfo.cs
- ReadOnlyObservableCollection.cs
- InputBinding.cs
- ValueChangedEventManager.cs
- MouseDevice.cs
- ResourceDictionary.cs
- LineGeometry.cs
- counter.cs
- XhtmlConformanceSection.cs
- MonthChangedEventArgs.cs
- DataTableCollection.cs
- TCEAdapterGenerator.cs
- PtsPage.cs
- DataGridRelationshipRow.cs
- RemotingServices.cs
- SqlInfoMessageEvent.cs
- DelimitedListTraceListener.cs
- Scene3D.cs
- Facet.cs
- FilteredXmlReader.cs
- CommandID.cs
- ConstrainedDataObject.cs
- GridViewColumnHeaderAutomationPeer.cs
- Expression.cs
- RenameRuleObjectDialog.cs
- InstalledFontCollection.cs
- DeferredSelectedIndexReference.cs
- Conditional.cs
- AnimatedTypeHelpers.cs
- AttachmentService.cs
- PropertyReferenceSerializer.cs
- OrderedEnumerableRowCollection.cs
- CipherData.cs
- XmlSchemaExporter.cs
- CompositeFontFamily.cs
- RouteUrlExpressionBuilder.cs
- BaseComponentEditor.cs
- ColorConvertedBitmap.cs
- WindowsAuthenticationEventArgs.cs
- LongValidator.cs
- ListViewTableCell.cs
- CodeMemberEvent.cs
- RoutedEvent.cs
- ButtonColumn.cs
- ConfigurationSection.cs
- SmiEventSink_Default.cs
- ManagementEventWatcher.cs
- SmiEventSink_Default.cs
- DataContext.cs
- StorageRoot.cs
- UnsafeNetInfoNativeMethods.cs
- RuntimeHandles.cs
- DataSysAttribute.cs
- WindowPatternIdentifiers.cs
- SmtpClient.cs