Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- MinMaxParagraphWidth.cs
- DataStreams.cs
- WebPartDisplayModeCancelEventArgs.cs
- MetaType.cs
- MobileControlDesigner.cs
- PerSessionInstanceContextProvider.cs
- WindowsTreeView.cs
- JsonReaderWriterFactory.cs
- AuthorizationRuleCollection.cs
- ClientTarget.cs
- SizeConverter.cs
- BaseParser.cs
- RectIndependentAnimationStorage.cs
- BaseValidator.cs
- BaseValidator.cs
- MultiplexingFormatMapping.cs
- ServicePointManagerElement.cs
- InputProcessorProfiles.cs
- InteropAutomationProvider.cs
- DataGridViewColumnEventArgs.cs
- Logging.cs
- CryptoStream.cs
- StringComparer.cs
- SmtpMail.cs
- PieceNameHelper.cs
- PropertyGrid.cs
- _LazyAsyncResult.cs
- ReadOnlyTernaryTree.cs
- ColumnWidthChangingEvent.cs
- OdbcRowUpdatingEvent.cs
- ZipIORawDataFileBlock.cs
- EUCJPEncoding.cs
- ProfileInfo.cs
- OdbcStatementHandle.cs
- DragEventArgs.cs
- ListViewItem.cs
- SecurityUtils.cs
- Vector.cs
- XomlCompilerError.cs
- Point3DValueSerializer.cs
- PublisherMembershipCondition.cs
- ScrollableControlDesigner.cs
- XmlNodeList.cs
- VerifyHashRequest.cs
- GridSplitterAutomationPeer.cs
- XslVisitor.cs
- CompositeTypefaceMetrics.cs
- XmlTextAttribute.cs
- ContactManager.cs
- EventLogInformation.cs
- CheckBoxPopupAdapter.cs
- nulltextcontainer.cs
- DCSafeHandle.cs
- DependencySource.cs
- Knowncolors.cs
- SqlGatherConsumedAliases.cs
- Soap.cs
- WebPartTransformerCollection.cs
- SafeProcessHandle.cs
- XPathMultyIterator.cs
- formatter.cs
- CellParagraph.cs
- CommandArguments.cs
- ComboBoxItem.cs
- NotifyParentPropertyAttribute.cs
- PersonalizationStateInfo.cs
- DataSourceSelectArguments.cs
- ContainsRowNumberChecker.cs
- MeasureItemEvent.cs
- ResXResourceWriter.cs
- FocusTracker.cs
- base64Transforms.cs
- NetworkCredential.cs
- AuthenticateEventArgs.cs
- SqlConnection.cs
- ClientProxyGenerator.cs
- GenericUriParser.cs
- InvalidTimeZoneException.cs
- input.cs
- TextModifier.cs
- PolyBezierSegment.cs
- ThrowHelper.cs
- CaretElement.cs
- PeerNameRecordCollection.cs
- SchemaImporter.cs
- CapabilitiesPattern.cs
- ConsumerConnectionPointCollection.cs
- FunctionDefinition.cs
- Localizer.cs
- BufferedOutputStream.cs
- XmlSchemaSet.cs
- WindowsSecurityToken.cs
- ClrPerspective.cs
- FontFamily.cs
- Rotation3DAnimationUsingKeyFrames.cs
- MetadataItemSerializer.cs
- CompareInfo.cs
- XmlEncodedRawTextWriter.cs
- PropertyTab.cs
- PtsCache.cs