Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / HtmlControls / HtmlContainerControl.cs / 1 / HtmlContainerControl.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.HtmlControls { using System.Runtime.Serialization.Formatters; using System; using System.Collections; using System.ComponentModel; using System.IO; using System.Web.UI; using System.Security.Permissions; /* * A control representing an intrinsic Html tag. */ ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] abstract public class HtmlContainerControl : HtmlControl { /* * Creates a new WebControl */ ///The ////// class defines the methods, /// properties and events /// available to all Html Server controls that must have a /// closing tag. /// protected HtmlContainerControl() : this("span") { } /* * Creates a new HtmlContainerControl */ ///Initializes a new instance of a ///class using /// default values. /// public HtmlContainerControl(string tag) : base(tag) { } /* * The inner html content between the begin and end tag. * A set will replace any existing child controls with a single literal. * A get will return the text of a single literal child OR * will throw an exception if there are no children, more than one * child, or the single child is not a literal. */ ///Initializes a new instance of a ///class using the /// specified string. /// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), HtmlControlPersistable(false), ] public virtual string InnerHtml { get { if (IsLiteralContent()) return((LiteralControl) Controls[0]).Text; else if (HasControls() && (Controls.Count == 1) && Controls[0] is DataBoundLiteralControl) return ((DataBoundLiteralControl) Controls[0]).Text; else { if (Controls.Count == 0) return String.Empty; throw new HttpException(SR.GetString(SR.Inner_Content_not_literal, ID)); } } set { Controls.Clear(); Controls.Add(new LiteralControl(value)); ViewState["innerhtml"] = value; } } /* * The inner text content between the begin and end tag. * A set will replace any existing child controls with a single literal. * A get will return the text of a single literal child OR * will throw an exception if there are no children, more than one child, or * the single child is not a literal. */ ////// Gets or sets the /// content found between the opening and closing tags of the specified HTML server control. /// ////// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), HtmlControlPersistable(false), ] public virtual string InnerText { get { return HttpUtility.HtmlDecode(InnerHtml); } set { InnerHtml = HttpUtility.HtmlEncode(value); } } ////// Gets or sets all text between the opening and closing tags /// of the specified HTML server control. /// ////// protected override ControlCollection CreateControlCollection() { return new ControlCollection(this); } ///[To be supplied.] ////// /// protected override void LoadViewState(object savedState) { if (savedState != null) { base.LoadViewState(savedState); string s = (string)ViewState["innerhtml"]; if (s != null) InnerHtml = s; } } /* * Render the control into the given writer. */ ////// /// protected internal override void Render(HtmlTextWriter writer) { RenderBeginTag(writer); RenderChildren(writer); RenderEndTag(writer); } /* * Override to prevent InnerHtml from being rendered as an attribute. */ ////// /// protected override void RenderAttributes(HtmlTextWriter writer) { ViewState.Remove("innerhtml"); base.RenderAttributes(writer); } /* * Render the end tag, </TAGNAME>. */ ////// /// protected virtual void RenderEndTag(HtmlTextWriter writer) { writer.WriteEndTag(TagName); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListControl.cs
- StyleCollection.cs
- PreservationFileWriter.cs
- WindowsListViewGroup.cs
- CapabilitiesSection.cs
- DefaultTextStore.cs
- SystemTcpStatistics.cs
- DocumentViewerHelper.cs
- NativeCppClassAttribute.cs
- TableAdapterManagerMethodGenerator.cs
- SpnegoTokenProvider.cs
- ViewStateException.cs
- SelectedDatesCollection.cs
- SystemException.cs
- HttpGetProtocolImporter.cs
- Matrix.cs
- BroadcastEventHelper.cs
- DataGridViewRowsAddedEventArgs.cs
- DeviceSpecificChoiceCollection.cs
- BuildProvider.cs
- SqlTopReducer.cs
- Adorner.cs
- NavigationExpr.cs
- XPathDocumentNavigator.cs
- HttpProtocolReflector.cs
- _ProxyRegBlob.cs
- ArgumentException.cs
- WebPartExportVerb.cs
- RoutedEventHandlerInfo.cs
- TextServicesHost.cs
- AdRotatorDesigner.cs
- FindCriteriaApril2005.cs
- XmlReflectionMember.cs
- TracedNativeMethods.cs
- BamlLocalizabilityResolver.cs
- NotifyParentPropertyAttribute.cs
- ToolStripRenderEventArgs.cs
- RecordsAffectedEventArgs.cs
- ParsedRoute.cs
- HttpModuleActionCollection.cs
- StylusShape.cs
- WebBrowserDocumentCompletedEventHandler.cs
- AnnotationAuthorChangedEventArgs.cs
- LocationSectionRecord.cs
- Int64Converter.cs
- ObjectParameterCollection.cs
- XmlEnumAttribute.cs
- GetLastErrorDetailsRequest.cs
- ServiceChannelFactory.cs
- FrameSecurityDescriptor.cs
- Pts.cs
- configsystem.cs
- GridViewColumnHeader.cs
- HwndSubclass.cs
- PropertyPathConverter.cs
- BooleanToVisibilityConverter.cs
- ConnectionStringsSection.cs
- connectionpool.cs
- BCryptSafeHandles.cs
- ServiceProviders.cs
- ConnectionStringsExpressionEditor.cs
- DataPagerFieldCommandEventArgs.cs
- BamlRecordReader.cs
- MonthChangedEventArgs.cs
- DrawItemEvent.cs
- UserMapPath.cs
- SchemaEntity.cs
- WpfXamlLoader.cs
- MemoryRecordBuffer.cs
- XmlElementCollection.cs
- XmlTextEncoder.cs
- CodeDelegateCreateExpression.cs
- TypeForwardedToAttribute.cs
- DesignColumnCollection.cs
- EdmRelationshipRoleAttribute.cs
- Pair.cs
- DoubleLink.cs
- FixedSOMImage.cs
- RequestStatusBarUpdateEventArgs.cs
- ProxyHwnd.cs
- Trace.cs
- BulletChrome.cs
- NumberFunctions.cs
- LassoSelectionBehavior.cs
- LinkLabelLinkClickedEvent.cs
- RijndaelManaged.cs
- TableLayoutStyle.cs
- BitmapInitialize.cs
- SQLInt32Storage.cs
- AssemblyAttributesGoHere.cs
- XmlHierarchyData.cs
- SqlNodeAnnotations.cs
- KnownTypesProvider.cs
- ToolStripHighContrastRenderer.cs
- ThumbAutomationPeer.cs
- ViewKeyConstraint.cs
- ListSortDescriptionCollection.cs
- GZipStream.cs
- SafeRightsManagementQueryHandle.cs
- BooleanExpr.cs