Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / UI / LiteralControl.cs / 1 / LiteralControl.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* Control that holds a literal string
*
* Copyright (c) 1999 Microsoft Corporation
*/
namespace System.Web.UI {
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.IO;
using System.Security.Permissions;
///
/// Defines the properties and methods of the LiteralControl class. A
/// literal control is usually rendered as HTML text on a page.
///
/// LiteralControls behave as text holders, i.e., the parent of a LiteralControl may decide
/// to extract its text, and remove the control from its Control collection (typically for
/// performance reasons).
/// Therefore a control derived from LiteralControl must do any preprocessing of its Text
/// when it hands it out, that it would otherwise have done in its Render implementation.
///
///
[
ToolboxItem(false)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class LiteralControl : Control, ITextControl
#if ORCAS
, IPaginationInfo
#endif
{
internal string _text;
///
/// Creates a control that holds a literal string.
///
public LiteralControl() {
PreventAutoID();
SetEnableViewStateInternal(false);
}
///
/// Initializes a new instance of the LiteralControl class with
/// the specified text.
///
public LiteralControl(string text) : this() {
_text = (text != null) ? text : String.Empty;
}
///
/// Gets or sets the text content of the literal control.
///
public virtual string Text {
get {
return _text;
}
set {
_text = (value != null) ? value : String.Empty;
}
}
protected override ControlCollection CreateControlCollection() {
return new EmptyControlCollection(this);
}
#if ORCAS
///
bool IPaginationInfo.PaginateChildren {
get {
return PaginateChildren;
}
}
///
protected virtual bool PaginateChildren {
get {
return false;
}
}
///
int IPaginationInfo.Weight {
get {
return Weight;
}
}
///
protected virtual int Weight {
get {
int length = _text.Length;
if (length >= 50) {
return 100;
}
for (int i = 0; i < length; i++) {
if (i==50 || !Char.IsWhiteSpace(_text, i)) {
return 100;
}
}
return 0;
}
}
#endif
///
/// Saves any state that was modified after mark.
///
protected internal override void Render(HtmlTextWriter output) {
output.Write(_text);
}
internal override void InitRecursive(Control namingContainer) {
ResolveAdapter();
if (_adapter != null) {
_adapter.OnInit(EventArgs.Empty);
}
else {
OnInit(EventArgs.Empty);
}
}
internal override void LoadRecursive() {
if(_adapter != null) {
_adapter.OnLoad(EventArgs.Empty);
}
else {
OnLoad(EventArgs.Empty);
}
}
internal override void PreRenderRecursiveInternal() {
if(_adapter != null) {
_adapter.OnPreRender(EventArgs.Empty);
}
else {
OnPreRender(EventArgs.Empty);
}
}
internal override void UnloadRecursive(bool dispose) {
if(_adapter != null) {
_adapter.OnUnload(EventArgs.Empty);
}
else {
OnUnload(EventArgs.Empty);
}
//
if (dispose)
Dispose();
}
}
/*
* Class used to access literal strings stored in a resource (perf optimization).
* This class is only public because it needs to be used by the generated classes.
* Users should not use directly.
*/
internal sealed class ResourceBasedLiteralControl : LiteralControl {
private TemplateControl _tplControl;
private int _offset; // Offset of the start of this string in the resource
private int _size; // Size of this string in bytes
private bool _fAsciiOnly; // Does the string contain only 7-bit ascii characters
internal ResourceBasedLiteralControl(TemplateControl tplControl, int offset, int size, bool fAsciiOnly) {
// Make sure we don't access invalid data
if (offset < 0 || offset+size > tplControl.MaxResourceOffset)
throw new ArgumentException();
_tplControl = tplControl;
_offset = offset;
_size = size;
_fAsciiOnly = fAsciiOnly;
PreventAutoID();
EnableViewState = false;
}
public override string Text {
get {
// If it's just a normal string, call the base
if (_size == 0)
return base.Text;
return StringResourceManager.ResourceToString(
_tplControl.StringResourcePointer, _offset, _size);
}
set {
// From now on, this will behave like a normal LiteralControl
_size = 0;
base.Text = value;
}
}
protected internal override void Render(HtmlTextWriter output) {
// If it's just a normal string, call the base
if (_size == 0) {
base.Render(output);
return;
}
output.WriteUTF8ResourceString(_tplControl.StringResourcePointer, _offset, _size, _fAsciiOnly);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
* Control that holds a literal string
*
* Copyright (c) 1999 Microsoft Corporation
*/
namespace System.Web.UI {
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.IO;
using System.Security.Permissions;
///
/// Defines the properties and methods of the LiteralControl class. A
/// literal control is usually rendered as HTML text on a page.
///
/// LiteralControls behave as text holders, i.e., the parent of a LiteralControl may decide
/// to extract its text, and remove the control from its Control collection (typically for
/// performance reasons).
/// Therefore a control derived from LiteralControl must do any preprocessing of its Text
/// when it hands it out, that it would otherwise have done in its Render implementation.
///
///
[
ToolboxItem(false)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class LiteralControl : Control, ITextControl
#if ORCAS
, IPaginationInfo
#endif
{
internal string _text;
///
/// Creates a control that holds a literal string.
///
public LiteralControl() {
PreventAutoID();
SetEnableViewStateInternal(false);
}
///
/// Initializes a new instance of the LiteralControl class with
/// the specified text.
///
public LiteralControl(string text) : this() {
_text = (text != null) ? text : String.Empty;
}
///
/// Gets or sets the text content of the literal control.
///
public virtual string Text {
get {
return _text;
}
set {
_text = (value != null) ? value : String.Empty;
}
}
protected override ControlCollection CreateControlCollection() {
return new EmptyControlCollection(this);
}
#if ORCAS
///
bool IPaginationInfo.PaginateChildren {
get {
return PaginateChildren;
}
}
///
protected virtual bool PaginateChildren {
get {
return false;
}
}
///
int IPaginationInfo.Weight {
get {
return Weight;
}
}
///
protected virtual int Weight {
get {
int length = _text.Length;
if (length >= 50) {
return 100;
}
for (int i = 0; i < length; i++) {
if (i==50 || !Char.IsWhiteSpace(_text, i)) {
return 100;
}
}
return 0;
}
}
#endif
///
/// Saves any state that was modified after mark.
///
protected internal override void Render(HtmlTextWriter output) {
output.Write(_text);
}
internal override void InitRecursive(Control namingContainer) {
ResolveAdapter();
if (_adapter != null) {
_adapter.OnInit(EventArgs.Empty);
}
else {
OnInit(EventArgs.Empty);
}
}
internal override void LoadRecursive() {
if(_adapter != null) {
_adapter.OnLoad(EventArgs.Empty);
}
else {
OnLoad(EventArgs.Empty);
}
}
internal override void PreRenderRecursiveInternal() {
if(_adapter != null) {
_adapter.OnPreRender(EventArgs.Empty);
}
else {
OnPreRender(EventArgs.Empty);
}
}
internal override void UnloadRecursive(bool dispose) {
if(_adapter != null) {
_adapter.OnUnload(EventArgs.Empty);
}
else {
OnUnload(EventArgs.Empty);
}
//
if (dispose)
Dispose();
}
}
/*
* Class used to access literal strings stored in a resource (perf optimization).
* This class is only public because it needs to be used by the generated classes.
* Users should not use directly.
*/
internal sealed class ResourceBasedLiteralControl : LiteralControl {
private TemplateControl _tplControl;
private int _offset; // Offset of the start of this string in the resource
private int _size; // Size of this string in bytes
private bool _fAsciiOnly; // Does the string contain only 7-bit ascii characters
internal ResourceBasedLiteralControl(TemplateControl tplControl, int offset, int size, bool fAsciiOnly) {
// Make sure we don't access invalid data
if (offset < 0 || offset+size > tplControl.MaxResourceOffset)
throw new ArgumentException();
_tplControl = tplControl;
_offset = offset;
_size = size;
_fAsciiOnly = fAsciiOnly;
PreventAutoID();
EnableViewState = false;
}
public override string Text {
get {
// If it's just a normal string, call the base
if (_size == 0)
return base.Text;
return StringResourceManager.ResourceToString(
_tplControl.StringResourcePointer, _offset, _size);
}
set {
// From now on, this will behave like a normal LiteralControl
_size = 0;
base.Text = value;
}
}
protected internal override void Render(HtmlTextWriter output) {
// If it's just a normal string, call the base
if (_size == 0) {
base.Render(output);
return;
}
output.WriteUTF8ResourceString(_tplControl.StringResourcePointer, _offset, _size, _fAsciiOnly);
}
}
}
// 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
- ListBoxItemWrapperAutomationPeer.cs
- QilStrConcat.cs
- ProjectionCamera.cs
- TableLayoutStyleCollection.cs
- XsltOutput.cs
- Tokenizer.cs
- TemplatePartAttribute.cs
- RenderDataDrawingContext.cs
- XsdValidatingReader.cs
- DataView.cs
- Vector3DCollectionConverter.cs
- EntityTransaction.cs
- HealthMonitoringSection.cs
- FileEnumerator.cs
- ServiceNotStartedException.cs
- BufferModesCollection.cs
- Scene3D.cs
- ContainerTracking.cs
- XmlDataProvider.cs
- HitTestParameters.cs
- VisualTreeUtils.cs
- PersonalizablePropertyEntry.cs
- EntitySqlException.cs
- TypeListConverter.cs
- ResourceContainerWrapper.cs
- ProfilePropertyMetadata.cs
- MimeMapping.cs
- BamlRecordHelper.cs
- BitmapEffectInput.cs
- CodeGenerationManager.cs
- PenContexts.cs
- SafeViewOfFileHandle.cs
- NestPullup.cs
- FormViewDeleteEventArgs.cs
- MulticastOption.cs
- StronglyTypedResourceBuilder.cs
- ImplicitInputBrush.cs
- EventLogReader.cs
- ExecutionContext.cs
- SchemaImporterExtensionsSection.cs
- WindowsUpDown.cs
- ParserHooks.cs
- MailAddress.cs
- FixedTextContainer.cs
- RootBrowserWindowProxy.cs
- Margins.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SingleAnimationUsingKeyFrames.cs
- ListViewInsertEventArgs.cs
- Point.cs
- ByteViewer.cs
- SystemIdentity.cs
- IntegerValidator.cs
- SystemIPGlobalProperties.cs
- TypeLoadException.cs
- RequiredAttributeAttribute.cs
- XmlSchemaProviderAttribute.cs
- OleDbConnectionFactory.cs
- ConnectionPoint.cs
- EdmItemError.cs
- PipeStream.cs
- TraceUtility.cs
- SecurityTokenException.cs
- CngUIPolicy.cs
- UnsafeCollabNativeMethods.cs
- XPathScanner.cs
- MulticastNotSupportedException.cs
- DesignerTransaction.cs
- TreeView.cs
- MethodCallExpression.cs
- ListBoxItemAutomationPeer.cs
- StringTraceRecord.cs
- HtmlForm.cs
- _ConnectionGroup.cs
- PermissionToken.cs
- EntityStoreSchemaGenerator.cs
- UnionCodeGroup.cs
- HttpCapabilitiesSectionHandler.cs
- ResXBuildProvider.cs
- Single.cs
- AssemblyBuilderData.cs
- SqlConnectionPoolGroupProviderInfo.cs
- PseudoWebRequest.cs
- ExpressionsCollectionConverter.cs
- SQLResource.cs
- FormatVersion.cs
- DataServiceStreamResponse.cs
- HttpWebRequest.cs
- OperatorExpressions.cs
- OdbcError.cs
- FrameworkElement.cs
- Sql8ExpressionRewriter.cs
- Internal.cs
- GeometryGroup.cs
- VisualStyleInformation.cs
- HwndProxyElementProvider.cs
- BlockUIContainer.cs
- BuildResultCache.cs
- BaseCAMarshaler.cs
- PrimitiveXmlSerializers.cs