Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / HtmlControls / HtmlControl.cs / 2 / HtmlControl.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * HtmlControl.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI.HtmlControls { using System; using System.Globalization; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.IO; using System.Web.Util; using System.Web.UI; using AttributeCollection = System.Web.UI.AttributeCollection; using System.Security.Permissions; /* * An abstract base class representing an intrinsic Html tag that * is not represented by both a begin and end tag, for example * INPUT or IMG. */ ////// [ Designer("System.Web.UI.Design.HtmlIntrinsicControlDesigner, " + AssemblyRef.SystemDesign), ToolboxItem(false) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] abstract public class HtmlControl : Control, IAttributeAccessor { internal string _tagName; private AttributeCollection _attributes; ////// The ////// class defines the methods, properties, and events /// common to all HTML Server controls in the Web Forms page framework. /// /// protected HtmlControl() : this("span") { } ////// protected HtmlControl(string tag) { _tagName = tag; } /* * Access to collection of Attributes. */ ////// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] public AttributeCollection Attributes { get { if (_attributes == null) _attributes = new AttributeCollection(ViewState); return _attributes; } } /* * Access to collection of styles. */ ////// Gets all attribute name/value pairs expressed on a /// server control tag within a selected ASP.NET page. /// ////// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), ] public CssStyleCollection Style { get { return Attributes.CssStyle; } } /* * Property to get name of tag. */ ////// Gets all /// cascading style sheet (CSS) properties that /// are applied /// to a specified HTML Server control in an .aspx /// file. /// ////// [ WebCategory("Appearance"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public virtual string TagName { get { return _tagName;} } /* * Disabled property. */ ////// Gets the element name of a tag that contains a runat=server /// attribute/value pair. /// ////// [ WebCategory("Behavior"), DefaultValue(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), TypeConverter(typeof(MinimizableAttributeTypeConverter)) ] public bool Disabled { get { string s = Attributes["disabled"]; return((s != null) ? (s.Equals("disabled")) : false); } set { if (value) Attributes["disabled"] = "disabled"; else Attributes["disabled"] = null; } } ////// Gets or sets /// a value indicating whether Disabled attribute is included when a server /// control is rendered. /// ////// ///protected override bool ViewStateIgnoresCase { get { return true; } } /// /// protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } /* * Render the control into the given writer. */ ///[To be supplied.] ////// /// protected internal override void Render(HtmlTextWriter writer) { RenderBeginTag(writer); } /* * Render only the attributes, attr1=value1 attr2=value2 ... */ ////// /// protected virtual void RenderAttributes(HtmlTextWriter writer) { if (ID != null) writer.WriteAttribute("id", ClientID); Attributes.Render(writer); } /* * Render the begin tag and its attributes, <TAGNAME attr1=value1 attr2=value2>. */ ////// /// protected virtual void RenderBeginTag(HtmlTextWriter writer) { writer.WriteBeginTag(TagName); RenderAttributes(writer); writer.Write(HtmlTextWriter.TagRightChar); } /* * HtmlControls support generic access to Attributes. */ ////// /// string IAttributeAccessor.GetAttribute(string name) { return GetAttribute(name); } ////// /// protected virtual string GetAttribute(string name) { return Attributes[name]; } /* * HtmlControls support generic access to Attributes. */ ////// /// void IAttributeAccessor.SetAttribute(string name, string value) { SetAttribute(name, value); } ////// /// protected virtual void SetAttribute(string name, string value) { Attributes[name] = value; } internal void PreProcessRelativeReferenceAttribute(HtmlTextWriter writer, string attribName) { string url = Attributes[attribName]; // Don't do anything if it's not specified if (String.IsNullOrEmpty(url)) return; try { url = ResolveClientUrl(url); } catch (Exception e) { throw new HttpException(SR.GetString(SR.Property_Had_Malformed_Url, attribName, e.Message)); } writer.WriteAttribute(attribName, url); Attributes.Remove(attribName); } internal static string MapStringAttributeToString(string s) { // If it's an empty string, change it to null if (s != null && s.Length == 0) return null; // Otherwise, just return the input return s; } internal static string MapIntegerAttributeToString(int n) { // If it's -1, change it to null if (n == -1) return null; // Otherwise, convert the integer to a string return n.ToString(NumberFormatInfo.InvariantInfo); } } } // 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
- ScrollPatternIdentifiers.cs
- OracleBinary.cs
- ListViewPagedDataSource.cs
- UserNamePasswordValidator.cs
- ListChunk.cs
- CodeSubDirectoriesCollection.cs
- BindingCompleteEventArgs.cs
- Ipv6Element.cs
- ProcessStartInfo.cs
- EntityWrapper.cs
- CollectionEditorDialog.cs
- InitializationEventAttribute.cs
- ApplicationContext.cs
- StylusLogic.cs
- BrowserCapabilitiesFactory.cs
- CompilerParameters.cs
- SettingsBindableAttribute.cs
- WindowsAuthenticationModule.cs
- DesignerTransactionCloseEvent.cs
- ToolTipAutomationPeer.cs
- Resources.Designer.cs
- ConfigXmlElement.cs
- SspiNegotiationTokenAuthenticatorState.cs
- NamedPipeAppDomainProtocolHandler.cs
- FormViewUpdatedEventArgs.cs
- PeerHopCountAttribute.cs
- EntityContainerAssociationSetEnd.cs
- LogFlushAsyncResult.cs
- BitmapInitialize.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- JoinQueryOperator.cs
- ContextMenuStripGroup.cs
- DefinitionBase.cs
- AutomationTextAttribute.cs
- DBCSCodePageEncoding.cs
- SplashScreen.cs
- CodeThrowExceptionStatement.cs
- PropertyChangeTracker.cs
- ToolStripArrowRenderEventArgs.cs
- DataTemplateSelector.cs
- ItemCheckedEvent.cs
- ParallelTimeline.cs
- DataGridViewSelectedCellCollection.cs
- ThousandthOfEmRealPoints.cs
- SoapConverter.cs
- JsonServiceDocumentSerializer.cs
- LineServicesCallbacks.cs
- TextEditorSelection.cs
- CreateUserErrorEventArgs.cs
- TraceEventCache.cs
- RayMeshGeometry3DHitTestResult.cs
- NetWebProxyFinder.cs
- LiteralControl.cs
- TreeNodeCollection.cs
- TdsParserSessionPool.cs
- CompressionTracing.cs
- WindowsSpinner.cs
- XmlResolver.cs
- XmlUtil.cs
- InvalidTimeZoneException.cs
- RemoteWebConfigurationHostServer.cs
- EventLogReader.cs
- WorkflowExecutor.cs
- TableItemPattern.cs
- path.cs
- Style.cs
- ZipPackagePart.cs
- HTMLTextWriter.cs
- TimeSpanStorage.cs
- SpecialFolderEnumConverter.cs
- DragDeltaEventArgs.cs
- OAVariantLib.cs
- AstNode.cs
- Models.cs
- Socket.cs
- ManagementObjectCollection.cs
- XmlSchemaObject.cs
- StopStoryboard.cs
- LoginView.cs
- UnauthorizedAccessException.cs
- FrugalList.cs
- ScrollChrome.cs
- HttpWebRequestElement.cs
- OleDbReferenceCollection.cs
- WebPartAddingEventArgs.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- PanelStyle.cs
- SafeProcessHandle.cs
- Vector.cs
- RSAPKCS1SignatureFormatter.cs
- UriExt.cs
- ListItemParagraph.cs
- SignHashRequest.cs
- FilterEventArgs.cs
- WindowsListViewGroup.cs
- SessionIDManager.cs
- TokenBasedSet.cs
- TextRangeBase.cs
- ControlIdConverter.cs
- CodeTypeReferenceExpression.cs