8.3. Binding Data to a Web Forms DetailsView Control

Problem

You need to bind a result set to a Web Forms DetailsView control and page through its records.

Solution

Set the DataSource property of the DetailsView control and then call the DataBind() method. Handle the PageIndexChanging event.

Follow these steps:

  1. Create a C# ASP.NET web application named BindWebFormDetailsView.

  2. Add the following control to the Default.aspx design surface:

    • DetailsView named departmentDetailsView

    The completed layout of the Web Form page Default.aspx is shown in Figure 8-5.

    Layout for Default.aspx in BindWebFormDetailsView solution

    Figure 8-5. Layout for Default.aspx in BindWebFormDetailsView solution

    The code in Default.aspx in the project BindWebFormDetailsView is shown in Example 8-5.

Example 8-5. File: Default.aspx for BindWebFormDetailsView solution

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
    Inherits="BindWebForm DetailsView._Default" %>

<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DetailsView ID="departmentDetailsView" runat="server" Height="50px"
            Width="125px"
            onpageindexchanging="departmentDetailsView_PageIndexChanging">
        </asp:DetailsView>
    </div>
    </form>
</body>
</html>

The C# code-behind code in Default.aspx.cs ...

Get ADO.NET 3.5 Cookbook, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.