ImageField Class (System.Web.UI.WebControls)

Switch View :
ScriptFree
.NET Framework Class Library
ImageField Class

Represents a field that is displayed as an image in a data-bound control.

Inheritance Hierarchy

System.Object
  System.Web.UI.WebControls.DataControlField
    System.Web.UI.WebControls.ImageField

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
Syntax

Visual Basic
Public Class ImageField _
	Inherits DataControlField
C#
public class ImageField : DataControlField
Visual C++
public ref class ImageField : public DataControlField
F#
type ImageField =  
    class
        inherit DataControlField
    end

The ImageField type exposes the following members.

Constructors

  Name Description
Public method ImageField Initializes a new instance of the ImageField class.
Top
Properties

  Name Description
Public property AccessibleHeaderText Gets or sets text that is rendered as the AbbreviatedText property value in some controls. (Inherited from DataControlField.)
Public property AlternateText Gets or sets the alternate text displayed for an image in the ImageField object.
Protected property Control Gets a reference to the data control that the DataControlField object is associated with. (Inherited from DataControlField.)
Public property ControlStyle Gets the style of any Web server controls contained by the DataControlField object. (Inherited from DataControlField.)
Public property ConvertEmptyStringToNull Gets or sets a value indicating whether empty string ("") values are converted to null when the field values are returned from the data source.
Public property DataAlternateTextField Gets or sets the name of the field from the data source that contains the values to bind to the AlternateText property of each image in an ImageField object.
Public property DataAlternateTextFormatString Gets or sets the string that specifies the format in which the alternate text for each image in an ImageField object is rendered.
Public property DataImageUrlField Gets or sets the name of the field from the data source that contains the values to bind to the ImageUrl property of each image in an ImageField object.
Public property DataImageUrlFormatString Gets or sets the string that specifies the format in which the URL for each image in an ImageField object is rendered.
Protected property DesignMode Gets a value indicating whether a data control field is currently viewed in a design-time environment. (Inherited from DataControlField.)
Public property FooterStyle Gets or sets the style of the footer of the data control field. (Inherited from DataControlField.)
Public property FooterText Gets or sets the text that is displayed in the footer item of a data control field. (Inherited from DataControlField.)
Public property HeaderImageUrl Gets or sets the URL of an image that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property HeaderStyle Gets or sets the style of the header of the data control field. (Inherited from DataControlField.)
Public property HeaderText Gets or sets the text that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property InsertVisible Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode. (Inherited from DataControlField.)
Protected property IsTrackingViewState Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Public property ItemStyle Gets the style of any text-based content displayed by a data control field. (Inherited from DataControlField.)
Public property NullDisplayText Gets or sets the text to display in an ImageField object when the value of the field specified by the DataImageUrlField property is null.
Public property NullImageUrl Gets or sets the URL to an alternate image displayed in an ImageField object when the value of the field specified by the DataImageUrlField property is null.
Public property ReadOnly Gets or sets a value indicating whether the values of the field specified by the DataImageUrlField property can be modified in edit mode.
Public property ShowHeader Gets or sets a value indicating whether the header item of a data control field is rendered. (Inherited from DataControlField.)
Public property SortExpression Gets or sets a sort expression that is used by a data source control to sort data. (Inherited from DataControlField.)
Protected property ViewState Gets a dictionary of state information that allows you to save and restore the view state of a DataControlField object across multiple requests for the same page. (Inherited from DataControlField.)
Public property Visible Gets or sets a value indicating whether a data control field is rendered. (Inherited from DataControlField.)
Top
Methods

  Name Description
Protected method CloneField Infrastructure. Creates a duplicate copy of the current DataControlField-derived object. (Inherited from DataControlField.)
Protected method CopyProperties Copies the properties of the current ImageField object to the specified object. (Overrides DataControlField.CopyProperties(DataControlField).)
Protected method CreateField Returns a new instance of the ImageField class. (Overrides DataControlField.CreateField().)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExtractValuesFromCell Fills the specified IOrderedDictionary object with the values from the specified DataControlFieldCell object. (Overrides DataControlField.ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method FormatImageUrlValue Applies the format specified by the DataImageUrlFormatString property to a field value.
Protected method GetDesignTimeValue Retrieves the value used for a field's value when rendering the ImageField object in a designer.
Protected method GetFormattedAlternateText Applies the format specified by the DataAlternateTextFormatString property to the alternate text value contained in the specified Control object.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method GetValue Retrieves the value of the specified field from the specified control.
Public method Initialize Initializes the ImageField object. (Overrides DataControlField.Initialize(Boolean, Control).)
Public method InitializeCell Initializes the specified DataControlFieldCell object with the specified cell type, row state, and row index. (Overrides DataControlField.InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).)
Protected method InitializeDataCell Initializes the specified DataControlFieldCell object with the specified row state.
Protected method LoadViewState Restores the data source view's previously saved view state. (Inherited from DataControlField.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnDataBindField Binds the value of a field to the ImageField object.
Protected method OnFieldChanged Raises the FieldChanged event. (Inherited from DataControlField.)
Protected method SaveViewState Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Public method ToString Returns a string that represents this DataControlField object. (Inherited from DataControlField.)
Protected method TrackViewState Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page. (Inherited from DataControlField.)
Public method ValidateSupportsCallback Determines whether the controls contained in an ImageField object support callbacks. (Overrides DataControlField.ValidateSupportsCallback().)
Top
Fields

  Name Description
Public field Static member ThisExpression Represents the "this" expression.
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private property IDataSourceViewSchemaAccessor.DataSourceViewSchema Infrastructure. Gets or sets the schema associated with this DataControlField object. (Inherited from DataControlField.)
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Restores the data control field's previously saved view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.TrackViewState Infrastructure. Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page. (Inherited from DataControlField.)
Top
Remarks

The ImageField class is used by data-bound controls (such as GridView and DetailsView) to display an image for each record displayed. The ImageField object is displayed differently depending on the data-bound control in which it is used. For example, the GridView control displays an ImageField object as a column, while the DetailsView control displays it as a row.

To display images, you must bind an ImageField object to a field from a data source that contains the URL of an image. This is accomplished by setting the DataImageUrlField property. The URL value can be formatted by using the DataImageUrlFormatString property. Each image can also have alternate text associated with it. This text is displayed when an image cannot be loaded, or is unavailable. Browsers that support the ToolTips feature also display this text as a ToolTip. You can specify the alternate text for a displayed image by using one of the following methods:

  • Use the AlternateText property to specify alternate text that applies to all images.

  • Use the DataAlternateTextField property to bind a field from a data source to the AlternateText property of each image. This allows you to have different alternate text for each image displayed. When binding data, you can optionally format the alternate text by using the DataAlternateTextFormatString property.

When the URL value for an image is null, an image cannot be displayed. You can display an alternate image for null field values by setting the NullImageUrl property. Instead of an alternate image, you can display alternate text by setting the NullDisplayText property.

By default, all declared fields are displayed in a data-bound control. You can hide an ImageField object in a data-bound control by setting the Visible property to false.

You can customize the header and footer sections of an ImageField object. To display a caption in the header or footer section, set the HeaderText or FooterText properties, respectively. To display an image in the header section instead of text, set the HeaderImageUrl property. The header section can be hidden in the ImageField object by setting the ShowHeader property to false.

Note Note

Some data-bound controls (such as the GridView control) can show or hide only the entire header section of the control. These data-bound controls do not support the ShowHeader property for an individual data-bound field. To show or hide the entire header section of a data-bound control, use the control's ShowHeader property (if available).

You also can customize the appearance of the ImageField object (font color, background color, and so on) by setting the style properties for the different parts of the field. The following table lists the different style properties.

Style property

Description

ControlStyle

The style settings for the child Web server controls of the ImageField object.

FooterStyle

The style settings for the footer section of the ImageField object.

HeaderStyle

The style settings for the header section of the ImageField object.

ItemStyle

The style settings for the data items in the ImageField object.

Examples

The following example demonstrates how to use an ImageField object in a GridView control to display an image.

Visual Basic


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ImageField Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>ImageField Example</h3>

      <asp:gridview id="EmployeesGrid"
        autogeneratecolumns="false"
        datasourceid="EmployeeSource"  
        runat="server">

        <columns>

          <asp:imagefield dataimageurlfield="PhotoPath"
            alternatetext="Employee Photo"
            nulldisplaytext="No image on file."
            headertext="Photo"  
            readonly="true"/>
          <asp:boundfield datafield="FirstName"
            headertext="First Name"/>
          <asp:boundfield datafield="LastName"
            headertext="Last Name"/>

        </columns>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

    </form>
  </body>
</html>



C#


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ImageField Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>ImageField Example</h3>

      <asp:gridview id="EmployeesGrid"
        autogeneratecolumns="false"
        datasourceid="EmployeeSource"  
        runat="server">

        <columns>

          <asp:imagefield dataimageurlfield="PhotoPath"
            alternatetext="Employee Photo"
            nulldisplaytext="No image on file."
            headertext="Photo"  
            readonly="true"/>
          <asp:boundfield datafield="FirstName"
            headertext="First Name"/>
          <asp:boundfield datafield="LastName"
            headertext="Last Name"/>

        </columns>

      </asp:gridview>

      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>

    </form>
  </body>
</html>



Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference