//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* * HtmlImage.cs * * Copyright (c) 2000 Microsoft Corporation */ namespace System.Web.UI.HtmlControls { using System; using System.ComponentModel; using System.Globalization; using System.Web; using System.Web.UI; using System.Web.Util; /// /// /// The /// class defines the methods, properties, and events /// for the HtmlImage server control. /// This class provides programmatic access on the server to /// the HTML <img> element. /// /// [ ControlBuilderAttribute(typeof(HtmlEmptyTagControlBuilder)) ] public class HtmlImage : HtmlControl { /* * Creates an intrinsic Html IMG control. */ /// /// Initializes a new instance of the class. /// public HtmlImage() : base("img") { } /* * Alt property */ /// /// /// Gets or sets the alternative caption that the /// browser displays if image is either unavailable or has not been downloaded yet. /// /// [ WebCategory("Appearance"), Localizable(true), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public string Alt { get { string s = Attributes["alt"]; return((s != null) ? s : String.Empty); } set { // Dev11 #382229: elements must have 'alt' attributes to pass W3 validation. // An empty string is an acceptable default value for these attributes. if (RenderingCompatibility >= VersionUtil.Framework45) { Attributes["alt"] = value; } else { Attributes["alt"] = MapStringAttributeToString(value); } } } /* * Align property */ /// /// Gets or sets the alignment of the image with /// surrounding text. /// [ WebCategory("Appearance"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public string Align { get { string s = Attributes["align"]; return((s != null) ? s : String.Empty); } set { Attributes["align"] = MapStringAttributeToString(value); } } /* * Border property, size of border in pixels. */ /// /// /// Gets or sets the width of image border, in pixels. /// /// [ WebCategory("Appearance"), DefaultValue(0), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int Border { get { string s = Attributes["border"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["border"] = MapIntegerAttributeToString(value); } } /* * Height property */ /// /// /// Gets or sets /// the height of the image. By default, this is expressed in /// pixels, /// but can be a expressed as a percentage. /// /// [ WebCategory("Layout"), DefaultValue(100), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int Height { get { string s = Attributes["height"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["height"] = MapIntegerAttributeToString(value); } } /* * Src property. */ /// /// /// Gets or sets the name of and path to the /// image file to be displayed. This can be an absolute or /// relative path. /// /// [ WebCategory("Behavior"), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), UrlProperty() ] public string Src { get { string s = Attributes["src"]; return((s != null) ? s : String.Empty); } set { Attributes["src"] = MapStringAttributeToString(value); } } /* * Width property */ /// /// /// Gets or sets the width of the image. By default, this is /// expressed in pixels, /// but can be a expressed as a percentage. /// /// [ WebCategory("Layout"), DefaultValue(100), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public int Width { get { string s = Attributes["width"]; return((s != null) ? Int32.Parse(s, CultureInfo.InvariantCulture) : -1); } set { Attributes["width"] = MapIntegerAttributeToString(value); } } /* * Override to render unique name attribute. * The name attribute is owned by the framework. */ /// /// /// protected override void RenderAttributes(HtmlTextWriter writer) { PreProcessRelativeReferenceAttribute(writer, "src"); base.RenderAttributes(writer); writer.Write(" /"); } } }