Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / Image.cs / 1 / Image.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Drawing.Design;
using System.Security.Permissions;
///
/// Displays an image on a page.
///
[
DefaultProperty("ImageUrl"),
Designer("System.Web.UI.Design.WebControls.PreviewControlDesigner, " + AssemblyRef.SystemDesign),
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class Image : WebControl {
private bool _urlResolved;
///
/// Initializes a new instance of the class.
///
public Image() : base(HtmlTextWriterTag.Img) {
}
///
/// Specifies alternate text displayed when the image fails to load.
///
[
#if ORCAS
// Verification(guideline, checkpoint, VerificationReportLevel.Error, priority, message);
Verification("WCAG", "1.1", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
Verification("ADA", "1194.22(a)", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
#endif
Localizable(true),
Bindable(true),
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Image_AlternateText)
]
public virtual string AlternateText {
get {
string s = (string)ViewState["AlternateText"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["AlternateText"] = value;
}
}
///
///
[
DefaultValue(""),
Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebCategory("Accessibility"),
WebSysDescription(SR.Image_DescriptionUrl)
]
public virtual string DescriptionUrl {
get {
string s = (string)ViewState["DescriptionUrl"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["DescriptionUrl"] = value;
}
}
///
/// Gets the font properties for the alternate text. This property is read-only.
///
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Never),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public override FontInfo Font {
// Font is meaningless for image, so hide it from the developer by
// making it non-browsable.
get {
return base.Font;
}
}
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Never)
]
public override bool Enabled {
get {
return base.Enabled;
}
set {
base.Enabled = value;
}
}
[
DefaultValue(false),
WebCategory("Accessibility"),
WebSysDescription(SR.Image_GenerateEmptyAlternateText)
]
public virtual bool GenerateEmptyAlternateText {
get {
object o = ViewState["GenerateEmptyAlternateText"];
return((o == null) ? false : (bool)o);
}
set {
ViewState["GenerateEmptyAlternateText"] = value;
}
}
///
/// Gets or
/// sets the alignment of the image within the text flow.
///
[
WebCategory("Layout"),
DefaultValue(ImageAlign.NotSet),
WebSysDescription(SR.Image_ImageAlign)
]
public virtual ImageAlign ImageAlign {
get {
object o = ViewState["ImageAlign"];
return((o == null) ? ImageAlign.NotSet : (ImageAlign)o);
}
set {
if (value < ImageAlign.NotSet || value > ImageAlign.TextTop) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["ImageAlign"] = value;
}
}
///
/// Gets or sets
/// the URL reference to the image to display.
///
[
Bindable(true),
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebSysDescription(SR.Image_ImageUrl)
]
public virtual string ImageUrl {
get {
string s = (string)ViewState["ImageUrl"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["ImageUrl"] = value;
}
}
// Perf work: Specially for AdRotator which uses the control while it
// resolves the url on its own.
internal bool UrlResolved {
get {
return _urlResolved;
}
set {
_urlResolved = value;
}
}
///
///
/// Adds the attributes of an to the output stream for rendering on
/// the client.
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
base.AddAttributesToRender(writer);
string s = ImageUrl;
if (!UrlResolved) {
s = ResolveClientUrl(s);
}
if (s.Length > 0 || !EnableLegacyRendering) {
writer.AddAttribute(HtmlTextWriterAttribute.Src, s);
}
s = DescriptionUrl;
if (s.Length != 0) {
writer.AddAttribute(HtmlTextWriterAttribute.Longdesc, ResolveClientUrl(s));
}
// always write out alt for accessibility purposes
s = AlternateText;
if (s.Length > 0 || GenerateEmptyAlternateText) {
writer.AddAttribute(HtmlTextWriterAttribute.Alt,s);
}
ImageAlign align = ImageAlign;
if (align != ImageAlign.NotSet) {
string imageAlignValue;
switch (align) {
case ImageAlign.Left:
imageAlignValue = "left";
break;
case ImageAlign.Right:
imageAlignValue = "right";
break;
case ImageAlign.Baseline:
imageAlignValue = "baseline";
break;
case ImageAlign.Top:
imageAlignValue = "top";
break;
case ImageAlign.Middle:
imageAlignValue = "middle";
break;
case ImageAlign.Bottom:
imageAlignValue = "bottom";
break;
case ImageAlign.AbsBottom:
imageAlignValue = "absbottom";
break;
case ImageAlign.AbsMiddle:
imageAlignValue = "absmiddle";
break;
default:
imageAlignValue = "texttop";
break;
}
writer.AddAttribute(HtmlTextWriterAttribute.Align, imageAlignValue);
}
if (BorderWidth.IsEmpty) {
if (EnableLegacyRendering) {
writer.AddAttribute(HtmlTextWriterAttribute.Border, "0", false);
}
else {
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "0px");
}
}
}
///
///
///
protected internal override void RenderContents(HtmlTextWriter writer) {
// Do not render the children of a button since it does not
// make sense to have children of an tag.
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Drawing.Design;
using System.Security.Permissions;
///
/// Displays an image on a page.
///
[
DefaultProperty("ImageUrl"),
Designer("System.Web.UI.Design.WebControls.PreviewControlDesigner, " + AssemblyRef.SystemDesign),
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class Image : WebControl {
private bool _urlResolved;
///
/// Initializes a new instance of the class.
///
public Image() : base(HtmlTextWriterTag.Img) {
}
///
/// Specifies alternate text displayed when the image fails to load.
///
[
#if ORCAS
// Verification(guideline, checkpoint, VerificationReportLevel.Error, priority, message);
Verification("WCAG", "1.1", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
Verification("ADA", "1194.22(a)", VerificationReportLevel.Error, 1, SR.Accessibility_ImageAlternateTextMissing),
#endif
Localizable(true),
Bindable(true),
WebCategory("Appearance"),
DefaultValue(""),
WebSysDescription(SR.Image_AlternateText)
]
public virtual string AlternateText {
get {
string s = (string)ViewState["AlternateText"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["AlternateText"] = value;
}
}
///
///
[
DefaultValue(""),
Editor("System.Web.UI.Design.UrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebCategory("Accessibility"),
WebSysDescription(SR.Image_DescriptionUrl)
]
public virtual string DescriptionUrl {
get {
string s = (string)ViewState["DescriptionUrl"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["DescriptionUrl"] = value;
}
}
///
/// Gets the font properties for the alternate text. This property is read-only.
///
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Never),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public override FontInfo Font {
// Font is meaningless for image, so hide it from the developer by
// making it non-browsable.
get {
return base.Font;
}
}
[
Browsable(false),
EditorBrowsableAttribute(EditorBrowsableState.Never)
]
public override bool Enabled {
get {
return base.Enabled;
}
set {
base.Enabled = value;
}
}
[
DefaultValue(false),
WebCategory("Accessibility"),
WebSysDescription(SR.Image_GenerateEmptyAlternateText)
]
public virtual bool GenerateEmptyAlternateText {
get {
object o = ViewState["GenerateEmptyAlternateText"];
return((o == null) ? false : (bool)o);
}
set {
ViewState["GenerateEmptyAlternateText"] = value;
}
}
///
/// Gets or
/// sets the alignment of the image within the text flow.
///
[
WebCategory("Layout"),
DefaultValue(ImageAlign.NotSet),
WebSysDescription(SR.Image_ImageAlign)
]
public virtual ImageAlign ImageAlign {
get {
object o = ViewState["ImageAlign"];
return((o == null) ? ImageAlign.NotSet : (ImageAlign)o);
}
set {
if (value < ImageAlign.NotSet || value > ImageAlign.TextTop) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["ImageAlign"] = value;
}
}
///
/// Gets or sets
/// the URL reference to the image to display.
///
[
Bindable(true),
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
UrlProperty(),
WebSysDescription(SR.Image_ImageUrl)
]
public virtual string ImageUrl {
get {
string s = (string)ViewState["ImageUrl"];
return((s == null) ? String.Empty : s);
}
set {
ViewState["ImageUrl"] = value;
}
}
// Perf work: Specially for AdRotator which uses the control while it
// resolves the url on its own.
internal bool UrlResolved {
get {
return _urlResolved;
}
set {
_urlResolved = value;
}
}
///
///
/// Adds the attributes of an to the output stream for rendering on
/// the client.
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
base.AddAttributesToRender(writer);
string s = ImageUrl;
if (!UrlResolved) {
s = ResolveClientUrl(s);
}
if (s.Length > 0 || !EnableLegacyRendering) {
writer.AddAttribute(HtmlTextWriterAttribute.Src, s);
}
s = DescriptionUrl;
if (s.Length != 0) {
writer.AddAttribute(HtmlTextWriterAttribute.Longdesc, ResolveClientUrl(s));
}
// always write out alt for accessibility purposes
s = AlternateText;
if (s.Length > 0 || GenerateEmptyAlternateText) {
writer.AddAttribute(HtmlTextWriterAttribute.Alt,s);
}
ImageAlign align = ImageAlign;
if (align != ImageAlign.NotSet) {
string imageAlignValue;
switch (align) {
case ImageAlign.Left:
imageAlignValue = "left";
break;
case ImageAlign.Right:
imageAlignValue = "right";
break;
case ImageAlign.Baseline:
imageAlignValue = "baseline";
break;
case ImageAlign.Top:
imageAlignValue = "top";
break;
case ImageAlign.Middle:
imageAlignValue = "middle";
break;
case ImageAlign.Bottom:
imageAlignValue = "bottom";
break;
case ImageAlign.AbsBottom:
imageAlignValue = "absbottom";
break;
case ImageAlign.AbsMiddle:
imageAlignValue = "absmiddle";
break;
default:
imageAlignValue = "texttop";
break;
}
writer.AddAttribute(HtmlTextWriterAttribute.Align, imageAlignValue);
}
if (BorderWidth.IsEmpty) {
if (EnableLegacyRendering) {
writer.AddAttribute(HtmlTextWriterAttribute.Border, "0", false);
}
else {
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "0px");
}
}
}
///
///
///
protected internal override void RenderContents(HtmlTextWriter writer) {
// Do not render the children of a button since it does not
// make sense to have children of an tag.
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- KeyGesture.cs
- CompiledIdentityConstraint.cs
- DataGridViewImageCell.cs
- TiffBitmapDecoder.cs
- ReversePositionQuery.cs
- ActiveXSite.cs
- XmlCustomFormatter.cs
- Environment.cs
- ApplicationSecurityManager.cs
- IgnoreFileBuildProvider.cs
- ADMembershipProvider.cs
- StoragePropertyMapping.cs
- CalculatedColumn.cs
- FactoryId.cs
- UserValidatedEventArgs.cs
- ConfigurationSection.cs
- TraceRecord.cs
- ContentPlaceHolder.cs
- RegistryConfigurationProvider.cs
- ActivityStateQuery.cs
- ExclusiveCanonicalizationTransform.cs
- HTMLTagNameToTypeMapper.cs
- SqlServices.cs
- OleDbCommandBuilder.cs
- ListBoxItemAutomationPeer.cs
- EventLogPermissionEntryCollection.cs
- InheritedPropertyChangedEventArgs.cs
- UInt32Storage.cs
- NodeLabelEditEvent.cs
- ModelItemCollection.cs
- RequestCachePolicyConverter.cs
- FocusManager.cs
- CharacterMetricsDictionary.cs
- ColumnPropertiesGroup.cs
- CheckBoxField.cs
- CodeGeneratorAttribute.cs
- PrintingPermission.cs
- BoundField.cs
- DbgCompiler.cs
- SendActivityDesignerTheme.cs
- WindowsSpinner.cs
- PtsContext.cs
- Compiler.cs
- Pkcs9Attribute.cs
- FacetDescriptionElement.cs
- ClientFormsIdentity.cs
- Predicate.cs
- ArithmeticException.cs
- SmiEventSink_DeferedProcessing.cs
- ObjectSpanRewriter.cs
- CommentEmitter.cs
- DBConnectionString.cs
- DataGridSortingEventArgs.cs
- EdgeModeValidation.cs
- ConnectionManagementElementCollection.cs
- MaskInputRejectedEventArgs.cs
- FileDialog.cs
- CompletedAsyncResult.cs
- XmlEncoding.cs
- TypographyProperties.cs
- serverconfig.cs
- GroupQuery.cs
- IconBitmapDecoder.cs
- Rect3DValueSerializer.cs
- AnnotationStore.cs
- DataControlLinkButton.cs
- ObjectViewFactory.cs
- SAPIEngineTypes.cs
- FixedTextBuilder.cs
- FunctionImportElement.cs
- ComponentResourceKey.cs
- Condition.cs
- SqlTypeSystemProvider.cs
- ProcessHostMapPath.cs
- VirtualPathUtility.cs
- DatePickerDateValidationErrorEventArgs.cs
- ExpressionEditorAttribute.cs
- SeparatorAutomationPeer.cs
- FontUnitConverter.cs
- Site.cs
- OrderByBuilder.cs
- MonthCalendar.cs
- shaperfactory.cs
- HeaderedContentControl.cs
- PlatformNotSupportedException.cs
- XPathSelectionIterator.cs
- EntityDataSourceView.cs
- SoapAttributeOverrides.cs
- ReaderContextStackData.cs
- UseAttributeSetsAction.cs
- BoundColumn.cs
- ToolConsole.cs
- VariableQuery.cs
- XmlAnyElementAttribute.cs
- AssemblyAttributesGoHere.cs
- WindowProviderWrapper.cs
- SoapSchemaImporter.cs
- DataAdapter.cs
- DesignerCommandSet.cs
- ContextMarshalException.cs