Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / DataBoundLiteralControl.cs / 1 / DataBoundLiteralControl.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Control that holds databinding expressions and literals * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.UI { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.IO; using System.Text; using System.Security.Permissions; using System.Web.Util; internal class DataBoundLiteralControlBuilder : ControlBuilder { internal DataBoundLiteralControlBuilder() { } internal void AddLiteralString(string s) { Debug.Assert(!InDesigner, "!InDesigner"); // Make sure strings and databinding expressions alternate object lastBuilder = GetLastBuilder(); if (lastBuilder != null && lastBuilder is string) { AddSubBuilder(null); } AddSubBuilder(s); } internal void AddDataBindingExpression(CodeBlockBuilder codeBlockBuilder) { Debug.Assert(!InDesigner, "!InDesigner"); // Make sure strings and databinding expressions alternate object lastBuilder = GetLastBuilder(); if (lastBuilder == null || lastBuilder is CodeBlockBuilder) { AddSubBuilder(null); } AddSubBuilder(codeBlockBuilder); } internal int GetStaticLiteralsCount() { // it's divided by 2 because half are strings and half are databinding // expressions). '+1' because we always start with a literal string. return (SubBuilders.Count+1) / 2; } internal int GetDataBoundLiteralCount() { // it's divided by 2 because half are strings and half are databinding // expressions) return SubBuilders.Count / 2; } } ////// [ ToolboxItem(false) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class DataBoundLiteralControl : Control, ITextControl { private string[] _staticLiterals; private string[] _dataBoundLiteral; private bool _hasDataBoundStrings; ///Defines the properties and methods of the DataBoundLiteralControl class. ///public DataBoundLiteralControl(int staticLiteralsCount, int dataBoundLiteralCount) { _staticLiterals = new string[staticLiteralsCount]; _dataBoundLiteral = new string[dataBoundLiteralCount]; PreventAutoID(); } /// public void SetStaticString(int index, string s) { _staticLiterals[index] = s; } /// public void SetDataBoundString(int index, string s) { _dataBoundLiteral[index] = s; _hasDataBoundStrings = true; } /// /// public string Text { get { StringBuilder sb = new StringBuilder(); int dataBoundLiteralCount = _dataBoundLiteral.Length; // Append literal and databound strings alternatively for (int i=0; i<_staticLiterals.Length; i++) { if (_staticLiterals[i] != null) sb.Append(_staticLiterals[i]); // Could be null if DataBind() was not called if (i < dataBoundLiteralCount && _dataBoundLiteral[i] != null) sb.Append(_dataBoundLiteral[i]); } return sb.ToString(); } } ///Gets the text content of the data-bound literal control. ///protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } /// /// /// protected override void LoadViewState(object savedState) { if (savedState != null) { _dataBoundLiteral = (string[]) savedState; _hasDataBoundStrings = true; } } ///Loads the previously saved state. Overridden to synchronize Text property with /// LiteralContent. ////// /// protected override object SaveViewState() { // Return null if we didn't get any databound strings if (!_hasDataBoundStrings) return null; // Only save the databound literals to the view state return _dataBoundLiteral; } ///The object that contains the state changes. ///protected internal override void Render(HtmlTextWriter output) { int dataBoundLiteralCount = _dataBoundLiteral.Length; // Render literal and databound strings alternatively for (int i=0; i<_staticLiterals.Length; i++) { if (_staticLiterals[i] != null) output.Write(_staticLiterals[i]); // Could be null if DataBind() was not called if (i < dataBoundLiteralCount && _dataBoundLiteral[i] != null) output.Write(_dataBoundLiteral[i]); } } /// /// /// string ITextControl.Text { get { return Text; } set { throw new NotSupportedException(); } } } ///Implementation of TextControl.Text property. ////// [ DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign), ToolboxItem(false) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class DesignerDataBoundLiteralControl : Control { private string _text; public DesignerDataBoundLiteralControl() { PreventAutoID(); } ///Simpler version of DataBoundLiteralControlBuilder, used at design time. ////// public string Text { get { return _text; } set { _text = (value != null) ? value : String.Empty; } } protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } ///Gets or sets the text content of the data-bound literal control. ////// protected override void LoadViewState(object savedState) { if (savedState != null) _text = (string) savedState; } ///Loads the previously saved state. Overridden to synchronize Text property with /// LiteralContent. ////// protected internal override void Render(HtmlTextWriter output) { output.Write(_text); } ///Saves any state that was modified after the control began monitoring state changes. ////// protected override object SaveViewState() { return _text; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //The object that contains the state changes. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Control that holds databinding expressions and literals * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.UI { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.IO; using System.Text; using System.Security.Permissions; using System.Web.Util; internal class DataBoundLiteralControlBuilder : ControlBuilder { internal DataBoundLiteralControlBuilder() { } internal void AddLiteralString(string s) { Debug.Assert(!InDesigner, "!InDesigner"); // Make sure strings and databinding expressions alternate object lastBuilder = GetLastBuilder(); if (lastBuilder != null && lastBuilder is string) { AddSubBuilder(null); } AddSubBuilder(s); } internal void AddDataBindingExpression(CodeBlockBuilder codeBlockBuilder) { Debug.Assert(!InDesigner, "!InDesigner"); // Make sure strings and databinding expressions alternate object lastBuilder = GetLastBuilder(); if (lastBuilder == null || lastBuilder is CodeBlockBuilder) { AddSubBuilder(null); } AddSubBuilder(codeBlockBuilder); } internal int GetStaticLiteralsCount() { // it's divided by 2 because half are strings and half are databinding // expressions). '+1' because we always start with a literal string. return (SubBuilders.Count+1) / 2; } internal int GetDataBoundLiteralCount() { // it's divided by 2 because half are strings and half are databinding // expressions) return SubBuilders.Count / 2; } } ////// [ ToolboxItem(false) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class DataBoundLiteralControl : Control, ITextControl { private string[] _staticLiterals; private string[] _dataBoundLiteral; private bool _hasDataBoundStrings; ///Defines the properties and methods of the DataBoundLiteralControl class. ///public DataBoundLiteralControl(int staticLiteralsCount, int dataBoundLiteralCount) { _staticLiterals = new string[staticLiteralsCount]; _dataBoundLiteral = new string[dataBoundLiteralCount]; PreventAutoID(); } /// public void SetStaticString(int index, string s) { _staticLiterals[index] = s; } /// public void SetDataBoundString(int index, string s) { _dataBoundLiteral[index] = s; _hasDataBoundStrings = true; } /// /// public string Text { get { StringBuilder sb = new StringBuilder(); int dataBoundLiteralCount = _dataBoundLiteral.Length; // Append literal and databound strings alternatively for (int i=0; i<_staticLiterals.Length; i++) { if (_staticLiterals[i] != null) sb.Append(_staticLiterals[i]); // Could be null if DataBind() was not called if (i < dataBoundLiteralCount && _dataBoundLiteral[i] != null) sb.Append(_dataBoundLiteral[i]); } return sb.ToString(); } } ///Gets the text content of the data-bound literal control. ///protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } /// /// /// protected override void LoadViewState(object savedState) { if (savedState != null) { _dataBoundLiteral = (string[]) savedState; _hasDataBoundStrings = true; } } ///Loads the previously saved state. Overridden to synchronize Text property with /// LiteralContent. ////// /// protected override object SaveViewState() { // Return null if we didn't get any databound strings if (!_hasDataBoundStrings) return null; // Only save the databound literals to the view state return _dataBoundLiteral; } ///The object that contains the state changes. ///protected internal override void Render(HtmlTextWriter output) { int dataBoundLiteralCount = _dataBoundLiteral.Length; // Render literal and databound strings alternatively for (int i=0; i<_staticLiterals.Length; i++) { if (_staticLiterals[i] != null) output.Write(_staticLiterals[i]); // Could be null if DataBind() was not called if (i < dataBoundLiteralCount && _dataBoundLiteral[i] != null) output.Write(_dataBoundLiteral[i]); } } /// /// /// string ITextControl.Text { get { return Text; } set { throw new NotSupportedException(); } } } ///Implementation of TextControl.Text property. ////// [ DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, " + AssemblyRef.SystemDesign), ToolboxItem(false) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class DesignerDataBoundLiteralControl : Control { private string _text; public DesignerDataBoundLiteralControl() { PreventAutoID(); } ///Simpler version of DataBoundLiteralControlBuilder, used at design time. ////// public string Text { get { return _text; } set { _text = (value != null) ? value : String.Empty; } } protected override ControlCollection CreateControlCollection() { return new EmptyControlCollection(this); } ///Gets or sets the text content of the data-bound literal control. ////// protected override void LoadViewState(object savedState) { if (savedState != null) _text = (string) savedState; } ///Loads the previously saved state. Overridden to synchronize Text property with /// LiteralContent. ////// protected internal override void Render(HtmlTextWriter output) { output.Write(_text); } ///Saves any state that was modified after the control began monitoring state changes. ////// protected override object SaveViewState() { return _text; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.The object that contains the state changes. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MD5.cs
- BinaryConverter.cs
- AuthenticationService.cs
- ColorTransformHelper.cs
- DefaultSettingsSection.cs
- FlatButtonAppearance.cs
- FlowNode.cs
- DataRowChangeEvent.cs
- DataSvcMapFileSerializer.cs
- Command.cs
- PeerContact.cs
- KeyValueConfigurationCollection.cs
- followingsibling.cs
- RawStylusInputReport.cs
- FixedPosition.cs
- ObsoleteAttribute.cs
- InfoCardSymmetricAlgorithm.cs
- WindowsServiceElement.cs
- CoTaskMemUnicodeSafeHandle.cs
- ExpressionCopier.cs
- BStrWrapper.cs
- CssTextWriter.cs
- WindowsListBox.cs
- objectquery_tresulttype.cs
- Signature.cs
- BindingSourceDesigner.cs
- UInt32.cs
- SafeNativeMethods.cs
- XmlSecureResolver.cs
- Tokenizer.cs
- URLString.cs
- StorageComplexTypeMapping.cs
- TextElementCollection.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- EntityDesignerUtils.cs
- Pair.cs
- ControlLocalizer.cs
- GraphicsContainer.cs
- Pair.cs
- ListCollectionView.cs
- AssociationSetMetadata.cs
- ProtocolState.cs
- ApplicationId.cs
- ContentOperations.cs
- Lasso.cs
- TimelineCollection.cs
- RC2CryptoServiceProvider.cs
- WebPartExportVerb.cs
- Authorization.cs
- BitmapEffectGroup.cs
- Calendar.cs
- TrackingDataItemValue.cs
- Viewport3DAutomationPeer.cs
- Internal.cs
- ChtmlCalendarAdapter.cs
- ReferencedAssembly.cs
- DisableDpiAwarenessAttribute.cs
- WmlPageAdapter.cs
- UnsafeNativeMethods.cs
- DateTimeConverter.cs
- NullRuntimeConfig.cs
- CompiledELinqQueryState.cs
- BasePropertyDescriptor.cs
- DependencyPropertyConverter.cs
- PropertyChangedEventArgs.cs
- ConnectionManagementSection.cs
- SimpleWebHandlerParser.cs
- SchemaImporterExtensionElement.cs
- LicFileLicenseProvider.cs
- DbProviderServices.cs
- HtmlUtf8RawTextWriter.cs
- MethodCallTranslator.cs
- SqlParameterizer.cs
- SqlTypeConverter.cs
- TreeNodeClickEventArgs.cs
- MatrixKeyFrameCollection.cs
- CommandPlan.cs
- RegexEditorDialog.cs
- Relationship.cs
- _NegoState.cs
- ClockController.cs
- ChangePassword.cs
- HttpRuntimeSection.cs
- ConfigurationLockCollection.cs
- RightsManagementPermission.cs
- DataGridViewImageColumn.cs
- RegistrationContext.cs
- Quaternion.cs
- PrivilegeNotHeldException.cs
- LineVisual.cs
- MetadataUtilsSmi.cs
- ListControlConvertEventArgs.cs
- TemplateManager.cs
- CommandArguments.cs
- SqlVersion.cs
- OperationResponse.cs
- Ref.cs
- BitConverter.cs
- ResourceDescriptionAttribute.cs
- XmlBaseReader.cs