ImageField Class

Definition

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

public ref class ImageField : System::Web::UI::WebControls::DataControlField
public class ImageField : System.Web.UI.WebControls.DataControlField
type ImageField = class
    inherit DataControlField
Public Class ImageField
Inherits DataControlField
Inheritance

Examples

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


<%@ 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>

<%@ 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>

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

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.

Constructors

ImageField()

Initializes a new instance of the ImageField class.

Fields

ThisExpression

Represents the "this" expression.

Properties

AccessibleHeaderText

Gets or sets text that is rendered as the AbbreviatedText property value in some controls.

(Inherited from DataControlField)
AlternateText

Gets or sets the alternate text displayed for an image in the ImageField object.

Control

Gets a reference to the data control that the DataControlField object is associated with.

(Inherited from DataControlField)
ControlStyle

Gets the style of any Web server controls contained by the DataControlField object.

(Inherited from DataControlField)
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.

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.

DataAlternateTextFormatString

Gets or sets the string that specifies the format in which the alternate text for each image in an ImageField object is rendered.

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.

DataImageUrlFormatString

Gets or sets the string that specifies the format in which the URL for each image in an ImageField object is rendered.

DesignMode

Gets a value indicating whether a data control field is currently viewed in a design-time environment.

(Inherited from DataControlField)
FooterStyle

Gets or sets the style of the footer of the data control field.

(Inherited from DataControlField)
FooterText

Gets or sets the text that is displayed in the footer item of a data control field.

(Inherited from DataControlField)
HeaderImageUrl

Gets or sets the URL of an image that is displayed in the header item of a data control field.

(Inherited from DataControlField)
HeaderStyle

Gets or sets the style of the header of the data control field.

(Inherited from DataControlField)
HeaderText

Gets or sets the text that is displayed in the header item of a data control field.

(Inherited from DataControlField)
InsertVisible

Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode.

(Inherited from DataControlField)
IsTrackingViewState

Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Inherited from DataControlField)
ItemStyle

Gets the style of any text-based content displayed by a data control field.

(Inherited from DataControlField)
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.

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.

ReadOnly

Gets or sets a value indicating whether the values of the field specified by the DataImageUrlField property can be modified in edit mode.

ShowHeader

Gets or sets a value indicating whether the header item of a data control field is rendered.

(Inherited from DataControlField)
SortExpression

Gets or sets a sort expression that is used by a data source control to sort data.

(Inherited from DataControlField)
ValidateRequestMode

Gets or sets a value that specifies whether the control validates client input.

(Inherited from DataControlField)
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)
Visible

Gets or sets a value indicating whether a data control field is rendered.

(Inherited from DataControlField)

Methods

CloneField()

Creates a duplicate copy of the current DataControlField-derived object.

(Inherited from DataControlField)
CopyProperties(DataControlField)

Copies the properties of the current ImageField object to the specified object.

CreateField()

Returns a new instance of the ImageField class.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Fills the specified IOrderedDictionary object with the values from the specified DataControlFieldCell object.

FormatImageUrlValue(Object)

Applies the format specified by the DataImageUrlFormatString property to a field value.

GetDesignTimeValue()

Retrieves the value used for a field's value when rendering the ImageField object in a designer.

GetFormattedAlternateText(Control)

Applies the format specified by the DataAlternateTextFormatString property to the alternate text value contained in the specified Control object.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
GetValue(Control, String, PropertyDescriptor)

Retrieves the value of the specified field from the specified control.

Initialize(Boolean, Control)

Initializes the ImageField object.

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Initializes the specified DataControlFieldCell object with the specified cell type, row state, and row index.

InitializeDataCell(DataControlFieldCell, DataControlRowState)

Initializes the specified DataControlFieldCell object with the specified row state.

LoadViewState(Object)

Restores the data source view's previously saved view state.

(Inherited from DataControlField)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnDataBindField(Object, EventArgs)

Binds the value of a field to the ImageField object.

OnFieldChanged()

Raises the FieldChanged event.

(Inherited from DataControlField)
SaveViewState()

Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Inherited from DataControlField)
ToString()

Returns a string that represents this DataControlField object.

(Inherited from DataControlField)
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)
ValidateSupportsCallback()

Determines whether the controls contained in an ImageField object support callbacks.

Explicit Interface Implementations

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Gets or sets the schema associated with this DataControlField object.

(Inherited from DataControlField)
IStateManager.IsTrackingViewState

Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Inherited from DataControlField)
IStateManager.LoadViewState(Object)

Restores the data control field's previously saved view state.

(Inherited from DataControlField)
IStateManager.SaveViewState()

Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Inherited from DataControlField)
IStateManager.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)

Applies to

See also