This documentation is archived and is not being maintained.

DetailsView.DataItem Property

Gets the data item bound to the DetailsView control.

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

public virtual Object DataItem { get; }

Property Value

Type: System.Object
An Object that represents the data item bound to the DetailsView control.



Use the DataItem property to access the data item bound to the DetailsView control. The data item is often used to access the field values of the current record directly. The type of the Object returned by this property varies depending on the data source. For example, when a SqlDataSource control is bound to the DetailsView control, a DataRowView object is returned.


This property is available only after data binding has occurred. Before data binding occurs, this property returns null. This property is also not applicable when the DetailsView control is in insert mode and returns null.

The following code example demonstrates how to use the DataItem property to determine the value of a field in the data item.

<%@ Page language="C#" %>
<%@ import namespace="System.Data"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">
    protected void CustomerDetailView_DataBound(object sender, 
      EventArgs e)
        DataRowView rowView = (DataRowView)CustomerDetailView.DataItem;
        if (rowView.Row[0].ToString() == "SpecialID")
            CustomerDetailView.FieldHeaderStyle.BackColor = 

<html xmlns="" >
  <head runat="server">
    <title>DetailsView ModeChanging Example</title>
    <form id="Form1" runat="server">

      <h3>DetailsView ModeChanging Example</h3>

        <asp:detailsview id="CustomerDetailView"

          <fieldheaderstyle backcolor="Navy"


        <!-- 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="DetailsViewSource" runat="server" 
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

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.