Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / Label.cs / 1305376 / Label.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.Util;
///
/// Interacts with the parser to build a control.
///
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>")
]
public class Label : WebControl, ITextControl {
private bool _textSetByAddParsedSubObject = false;
///
/// 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;
}
}
public override bool SupportsDisabledAttribute {
get {
return RenderingCompatibility < VersionUtil.Framework40;
}
}
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) {
if (_textSetByAddParsedSubObject) {
Text += ((LiteralControl)obj).Text;
}
else {
Text = ((LiteralControl)obj).Text;
}
_textSetByAddParsedSubObject = true;
}
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"];
// Dev10 703061 If Text is set, we want to clear out any child controls, but not dirty viewstate
if (s != null && HasControls()) {
Controls.Clear();
}
}
}
///
///
/// 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);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.Util;
///
/// Interacts with the parser to build a control.
///
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>")
]
public class Label : WebControl, ITextControl {
private bool _textSetByAddParsedSubObject = false;
///
/// 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;
}
}
public override bool SupportsDisabledAttribute {
get {
return RenderingCompatibility < VersionUtil.Framework40;
}
}
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) {
if (_textSetByAddParsedSubObject) {
Text += ((LiteralControl)obj).Text;
}
else {
Text = ((LiteralControl)obj).Text;
}
_textSetByAddParsedSubObject = true;
}
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"];
// Dev10 703061 If Text is set, we want to clear out any child controls, but not dirty viewstate
if (s != null && HasControls()) {
Controls.Clear();
}
}
}
///
///
/// 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);
}
}
}
}
// 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
- XmlSequenceWriter.cs
- OleDbFactory.cs
- MetadataItemCollectionFactory.cs
- ToolboxItemAttribute.cs
- ChildTable.cs
- StorageEndPropertyMapping.cs
- CommentEmitter.cs
- TypeValidationEventArgs.cs
- RemotingAttributes.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ITreeGenerator.cs
- FontSourceCollection.cs
- ContractTypeNameCollection.cs
- GridViewHeaderRowPresenter.cs
- PointLight.cs
- DesignerActionVerbList.cs
- FormatterConverter.cs
- ConfigurationFileMap.cs
- VoiceSynthesis.cs
- MsmqTransportElement.cs
- OdbcFactory.cs
- BindUriHelper.cs
- SqlBulkCopy.cs
- HwndSourceParameters.cs
- PointHitTestParameters.cs
- CustomTypeDescriptor.cs
- PageOrientation.cs
- TextPointer.cs
- WorkflowTransactionOptions.cs
- OrCondition.cs
- MULTI_QI.cs
- XmlEventCache.cs
- EmbossBitmapEffect.cs
- XmlQueryTypeFactory.cs
- PointLightBase.cs
- AppLevelCompilationSectionCache.cs
- CodeAccessPermission.cs
- DelegateSerializationHolder.cs
- SafeCertificateStore.cs
- x509store.cs
- DoubleAnimationUsingPath.cs
- MetadataArtifactLoaderFile.cs
- DataControlFieldTypeEditor.cs
- SqlXmlStorage.cs
- XmlAttributeOverrides.cs
- WorkflowDebuggerSteppingAttribute.cs
- SchemaMapping.cs
- XmlCustomFormatter.cs
- Int64Converter.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- Assembly.cs
- FormViewUpdateEventArgs.cs
- ContainerParaClient.cs
- WorkflowExecutor.cs
- HandlerBase.cs
- XsdCachingReader.cs
- PerspectiveCamera.cs
- WizardPanel.cs
- FSWPathEditor.cs
- TreeNodeMouseHoverEvent.cs
- ListenerConstants.cs
- SystemIPAddressInformation.cs
- ConsoleKeyInfo.cs
- BrowserTree.cs
- UnsafeNativeMethods.cs
- ShaderEffect.cs
- MemberExpression.cs
- ConfigurationSectionCollection.cs
- AsyncOperationManager.cs
- BinaryFormatter.cs
- DbParameterCollectionHelper.cs
- StateRuntime.cs
- PopupControlService.cs
- TdsEnums.cs
- SelectionProcessor.cs
- MembershipPasswordException.cs
- ServiceObjectContainer.cs
- Utils.cs
- DetailsViewPageEventArgs.cs
- LayoutEvent.cs
- HttpConfigurationContext.cs
- Path.cs
- AtomContentProperty.cs
- ThicknessAnimationBase.cs
- HttpPostedFileBase.cs
- ImagingCache.cs
- BinaryConverter.cs
- Border.cs
- SerializationSectionGroup.cs
- PropertyValueChangedEvent.cs
- TreeNodeEventArgs.cs
- odbcmetadatacollectionnames.cs
- HttpCacheParams.cs
- PathTooLongException.cs
- EmbeddedMailObjectCollectionEditor.cs
- ScheduleChanges.cs
- SpStreamWrapper.cs
- EventTrigger.cs
- DataRowCollection.cs
- VBCodeProvider.cs