Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / Label.cs / 1 / Label.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing.Design;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
///
/// Interacts with the parser to build a control.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class LabelControlBuilder : ControlBuilder {
///
///
/// Specifies whether white space literals are allowed.
///
public override bool AllowWhitespaceLiterals() {
return false;
}
}
///
/// Constructs a label for displaying text programmatcially on a
/// page.
///
[
ControlBuilderAttribute(typeof(LabelControlBuilder)),
ControlValueProperty("Text"),
DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign),
DefaultProperty("Text"),
ParseChildren(false),
Designer("System.Web.UI.Design.WebControls.LabelDesigner, " + AssemblyRef.SystemDesign),
ToolboxData("<{0}:Label runat=\"server\" Text=\"Label\">{0}:Label>")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class Label : WebControl, ITextControl {
///
/// Initializes a new instance of the class and renders
/// it as a SPAN tag.
///
public Label() {
}
///
///
internal Label(HtmlTextWriterTag tag) : base(tag) {
}
///
/// [To be supplied.]
///
[
DefaultValue(""),
IDReferenceProperty(),
TypeConverter(typeof(AssociatedControlConverter)),
WebCategory("Accessibility"),
WebSysDescription(SR.Label_AssociatedControlID),
Themeable(false)
]
public virtual string AssociatedControlID {
get {
string s = (string)ViewState["AssociatedControlID"];
return (s == null) ? String.Empty : s;
}
set {
ViewState["AssociatedControlID"] = value;
}
}
internal bool AssociatedControlInControlTree {
get {
object o = ViewState["AssociatedControlNotInControlTree"];
return (o == null ? true : (bool)o);
}
set {
ViewState["AssociatedControlNotInControlTree"] = value;
}
}
internal override bool RequiresLegacyRendering {
get {
return true;
}
}
protected override HtmlTextWriterTag TagKey {
get {
if (AssociatedControlID.Length != 0) {
return HtmlTextWriterTag.Label;
}
return base.TagKey;
}
}
///
/// Gets or sets the text content of the
/// control.
///
[
Localizable(true),
Bindable(true),
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Label_Text),
PersistenceMode(PersistenceMode.InnerDefaultProperty)
]
public virtual string Text {
get {
object o = ViewState["Text"];
return((o == null) ? String.Empty : (string)o);
}
set {
if (HasControls()) {
Controls.Clear();
}
ViewState["Text"] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer) {
string associatedControlID = AssociatedControlID;
if (associatedControlID.Length != 0) {
if (AssociatedControlInControlTree) {
Control wc = FindControl(associatedControlID);
if (wc == null) {
// Don't throw in the designer.
if (!DesignMode)
throw new HttpException(SR.GetString(SR.LabelForNotFound, associatedControlID, ID));
}
else {
writer.AddAttribute(HtmlTextWriterAttribute.For, wc.ClientID);
}
}
else {
writer.AddAttribute(HtmlTextWriterAttribute.For, associatedControlID);
}
}
base.AddAttributesToRender(writer);
}
///
///
///
protected override void AddParsedSubObject(object obj) {
if (HasControls()) {
base.AddParsedSubObject(obj);
}
else {
if (obj is LiteralControl) {
Text = ((LiteralControl)obj).Text;
}
else {
string currentText = Text;
if (currentText.Length != 0) {
Text = String.Empty;
base.AddParsedSubObject(new LiteralControl(currentText));
}
base.AddParsedSubObject(obj);
}
}
}
///
///
/// Load previously saved state.
/// Overridden to synchronize Text property with LiteralContent.
///
protected override void LoadViewState(object savedState) {
if (savedState != null) {
base.LoadViewState(savedState);
string s = (string)ViewState["Text"];
if (s != null)
Text = s;
}
}
///
///
/// Renders the contents of the into the specified writer.
///
protected internal override void RenderContents(HtmlTextWriter writer) {
if (HasRenderingData()) {
base.RenderContents(writer);
}
else {
writer.Write(Text);
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSigningNodeWriter.cs
- ManualResetEvent.cs
- CatalogZoneBase.cs
- HttpRawResponse.cs
- TextElementCollection.cs
- TextEditorMouse.cs
- SQLBinary.cs
- FormatSettings.cs
- FixedSOMElement.cs
- DatasetMethodGenerator.cs
- GPPOINTF.cs
- SafeRegistryHandle.cs
- PrincipalPermission.cs
- ComboBoxRenderer.cs
- PersianCalendar.cs
- TextBoxBase.cs
- BooleanKeyFrameCollection.cs
- ExpressionVisitorHelpers.cs
- XPathAncestorQuery.cs
- RemotingAttributes.cs
- SqlCachedBuffer.cs
- DependencyPropertyConverter.cs
- X500Name.cs
- SqlCaseSimplifier.cs
- FormsAuthenticationTicket.cs
- GrammarBuilderPhrase.cs
- FrameworkContentElement.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- TypeDescriptionProvider.cs
- namescope.cs
- SwitchAttribute.cs
- DockPattern.cs
- DataServiceContext.cs
- SemaphoreSecurity.cs
- CreateUserWizard.cs
- SqlDataSourceFilteringEventArgs.cs
- EncoderReplacementFallback.cs
- CodeArgumentReferenceExpression.cs
- ChannelReliableSession.cs
- PageBreakRecord.cs
- QueryCacheManager.cs
- Assert.cs
- SQLMembershipProvider.cs
- SafeNativeMethodsCLR.cs
- ParallelEnumerable.cs
- AnnotationHighlightLayer.cs
- WmlControlAdapter.cs
- WebHttpDispatchOperationSelector.cs
- InfocardChannelParameter.cs
- X509ChainElement.cs
- SqlClientWrapperSmiStream.cs
- Matrix3DStack.cs
- ScalarOps.cs
- ToolStripStatusLabel.cs
- PropertyGridDesigner.cs
- XmlSerializerFactory.cs
- XmlAttribute.cs
- AccessViolationException.cs
- HttpStreams.cs
- ProfileGroupSettings.cs
- XmlUtf8RawTextWriter.cs
- DecimalConverter.cs
- RijndaelManagedTransform.cs
- SQlBooleanStorage.cs
- RegularExpressionValidator.cs
- Event.cs
- ColorContextHelper.cs
- CodeCompileUnit.cs
- ToolStripDropDown.cs
- Marshal.cs
- ExpressionParser.cs
- SqlComparer.cs
- HiddenField.cs
- SessionStateUtil.cs
- MemberRelationshipService.cs
- WinEventTracker.cs
- DbProviderManifest.cs
- LayoutEngine.cs
- DoubleLinkList.cs
- BitHelper.cs
- OTFRasterizer.cs
- HtmlInputPassword.cs
- NullExtension.cs
- XmlSchemaInferenceException.cs
- EditorPartChrome.cs
- PointValueSerializer.cs
- StrokeFIndices.cs
- StaticResourceExtension.cs
- CodeArrayCreateExpression.cs
- EnumerableWrapperWeakToStrong.cs
- RemoteWebConfigurationHost.cs
- DataGridViewColumnEventArgs.cs
- ZipIOBlockManager.cs
- EntityContainerAssociationSetEnd.cs
- ArraySortHelper.cs
- ComUdtElement.cs
- CheckBoxField.cs
- ListControl.cs
- RectValueSerializer.cs
- HtmlElement.cs