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
- CodeDirectiveCollection.cs
- DefaultPrintController.cs
- DataRowChangeEvent.cs
- Point3D.cs
- SiteMapDataSource.cs
- ParagraphResult.cs
- InternalConfigHost.cs
- TextBox.cs
- HeaderedItemsControl.cs
- QilNode.cs
- Formatter.cs
- StatusBarPanelClickEvent.cs
- CompositeCollection.cs
- SecuritySessionSecurityTokenProvider.cs
- HttpConfigurationContext.cs
- ActiveDesignSurfaceEvent.cs
- ComplexBindingPropertiesAttribute.cs
- HttpChannelHelpers.cs
- CssStyleCollection.cs
- CollectionViewSource.cs
- DataKeyArray.cs
- MailHeaderInfo.cs
- FileDetails.cs
- TextCharacters.cs
- Brushes.cs
- TypeConverterHelper.cs
- ResourceContainer.cs
- InkPresenter.cs
- FileDialog.cs
- XmlNode.cs
- SingleObjectCollection.cs
- MimePart.cs
- AdjustableArrowCap.cs
- SystemShuttingDownException.cs
- ImageAutomationPeer.cs
- PeerService.cs
- ConfigurationConverterBase.cs
- PropertyGridView.cs
- PrintPreviewGraphics.cs
- XmlSchemaSimpleTypeRestriction.cs
- AuthenticationService.cs
- XmlChildEnumerator.cs
- FlowDocument.cs
- VisualStyleTypesAndProperties.cs
- SafeIUnknown.cs
- PolyBezierSegment.cs
- SqlConnectionString.cs
- PersonalizationProviderCollection.cs
- HtmlInputSubmit.cs
- BamlBinaryReader.cs
- FormViewPageEventArgs.cs
- cookiecontainer.cs
- SimpleWorkerRequest.cs
- DesignerDataParameter.cs
- CompareValidator.cs
- WindowsStatusBar.cs
- PropertyEntry.cs
- XomlCompiler.cs
- DataTableNameHandler.cs
- PropertyPathConverter.cs
- DataGridViewCellMouseEventArgs.cs
- HttpListener.cs
- ScriptComponentDescriptor.cs
- DesignerWidgets.cs
- PropertyPushdownHelper.cs
- URLIdentityPermission.cs
- Rect3D.cs
- InnerItemCollectionView.cs
- Pen.cs
- autovalidator.cs
- GridViewSortEventArgs.cs
- Triangle.cs
- RootProfilePropertySettingsCollection.cs
- ValuePatternIdentifiers.cs
- ArcSegment.cs
- AuthorizationPolicyTypeElement.cs
- XsdSchemaFileEditor.cs
- BindingGraph.cs
- SolidBrush.cs
- SmtpMail.cs
- ToolStripStatusLabel.cs
- nulltextcontainer.cs
- DetailsView.cs
- ContainsRowNumberChecker.cs
- ErrorFormatterPage.cs
- GeneralTransform2DTo3D.cs
- HostExecutionContextManager.cs
- OutputCacheSection.cs
- FrugalMap.cs
- BookmarkNameHelper.cs
- SQLInt64.cs
- IsolatedStorage.cs
- FixedSOMTableCell.cs
- SplineKeyFrames.cs
- HttpHandlersSection.cs
- log.cs
- AutoGeneratedFieldProperties.cs
- ListViewCommandEventArgs.cs
- ModelTypeConverter.cs
- WindowInteropHelper.cs