`

DetailsView示例

阅读更多

前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default8.aspx.cs" Inherits="Default8" %>

<!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>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
       
        <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" 
            AutoGenerateRows="false" ondatabound="DetailsView1_DataBound">
        <Fields>
                <asp:BoundField DataField="UserName" HeaderText="用户名" />
                <asp:HyperLinkField DataNavigateUrlFields="userId" DataNavigateUrlFormatString="Default8.aspx?UserId={0}"
                    DataTextField="RealName" HeaderText="查看" />
                <asp:BoundField DataField="Age" HeaderText="年龄" />
                <asp:TemplateField HeaderText="性别">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%#Eval("sex") %>' Visible="false"></asp:Label>
                    <asp:DropDownList ID="DropDownList1" runat="server">
                    <asp:ListItem Text="男" Value="True"></asp:ListItem>
                    <asp:ListItem Text="女" Value="False"></asp:ListItem>
                    </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Mobile" HeaderText="手机" />
                <asp:TemplateField>
                    <HeaderTemplate>
                        邮件啦</HeaderTemplate>
                    <AlternatingItemTemplate>
                        <a href='emailto:<%#Eval("Email") %>'>
                            <%#Eval("Email") %></a>
                    </AlternatingItemTemplate>
                    <ItemTemplate>
                        <%#Eval("Email") %>
                    </ItemTemplate>
                </asp:TemplateField>
        </Fields>
        <EmptyDataTemplate>
        温馨提示:没有任何数据
        </EmptyDataTemplate>
        </asp:DetailsView>
       
    </div>
    </form>
</body>
</html>

 

 

   后台代码:

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Data.SqlClient;
public partial class Default8 : System.Web.UI.Page
{
    SqlConnection conn;
    protected void Page_Load(object sender, EventArgs e)
    {
        conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sql2005"].ConnectionString);
        int userid;
        if (!IsPostBack)
        {
            //当当前URL地址中含有"UserId"参数并且能转换成数字时
            if (int.TryParse(Request.QueryString["UserId"], out userid))
            {
                SqlCommand comm = new SqlCommand("select * from userInfo where UserId=@userId", conn);
                comm.Parameters.AddWithValue("@UserId", userid);
                SqlDataAdapter adapter = new SqlDataAdapter(comm);
                DataSet ds = new DataSet();
                adapter.Fill(ds);
                DetailsView1.DataSource = ds.Tables[0].DefaultView;
                DetailsView1.DataBind();
            }
            else
            {
                //如果不能转换成数字,生成一个DataTable对象来绑定
                //因为我们再设计代码中定义如果没有符合条件的数据时的显示效果
                //所以此时会显示我们定义的没有数据时的效果
                DataTable dt = new DataTable();
                DetailsView1.DataSource = dt;
                DetailsView1.DataBind();
            }
        }
    }
    /// <summary>
    /// 绑定后事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void DetailsView1_DataBound(object sender, EventArgs e)
    {
        //判断数据源中是否存在数据
        if (DetailsView1.PageCount > 0)
        {
            //找到DropDownList
            DropDownList ddl = DetailsView1.Rows[3].FindControl("DropDownList1") as DropDownList;
            //从得到数据库中bit值
            Label lbl = DetailsView1.Rows[3].FindControl("Label1") as Label;
            //根据值来绑定DropDownList选择的是男还是女
            ListItem li = ddl.Items.FindByValue(lbl.Text);
            if (li != null)
            {
                li.Selected = true;
            }
        }
    }
 
}

 

  在数据库中有数据的情况下,在游览器中输入:

 

 

结果:

 

  • 大小: 10.4 KB
  • 大小: 15.9 KB
分享到:
评论

相关推荐

    ObjectDataSource与GridView与DetailsView与FormView应用示例

    本示例主要关注`ObjectDataSource`、`GridView`、`DetailsView`和`FormView`这四个关键控件的使用,结合SQL Server 2000数据库文件,提供了丰富的教学实践。 1. **ObjectDataSource**: `ObjectDataSource`是ASP...

    iBatisNet入门示例源码(操作GridView和DetailsView).zip

    本示例源码主要展示了如何利用iBatisNet框架来操作ASP.NET中的GridView和DetailsView控件,这两种控件在Web开发中广泛用于数据展示和编辑。 首先,我们来看`iBatisNet`框架。iBatisNet的核心是SQL Maps,它们定义了...

    ASP.NET:gridview和detailsview的组合应用

    文件名为"web5"的压缩包可能包含了实现上述功能的相关代码示例、HTML页面、样式表和数据库连接文件。解压并研究这些文件,可以帮助你更好地理解如何在ASP.NET中结合使用GridView和DetailsView,以及如何实现模糊查询...

    DetailsView控件里的Dropdownlist控件添加点击事件

    本文将详细介绍如何在 `DetailsView` 控件中的 `Dropdownlist` 控件上添加点击事件,并通过示例代码进行深入解析。 #### DetailsView 控件简介 `DetailsView` 是 ASP.NET 提供的一个用于显示和编辑单个数据项的...

    asp.net中DetailsView的使用方法

    在.aspx文件中,DetailsView控件通常以XML标签形式声明,如示例所示。`runat="server"`表示该控件将在服务器端运行,`AutoGenerateRows="False"`表示不会自动生成字段,我们需要手动添加。 2. **设置属性**: - `...

    WEB应用开发 DataList、Repeater、FormView、DetailsView用法实验报告

    ### WEB应用开发DataList、Repeater、FormView、DetailsView用法实验报告 #### 实验背景及目的 本实验报告旨在通过具体的实验案例,详细阐述ASP.NET Web应用程序中DataList、Repeater、FormView以及DetailsView等...

    asp.net基本控件示例

    9. **FormView**和**DetailsView**:这两个控件用于显示单一记录,通常用于编辑或查看数据库中的数据。 10. **PostBack**:ASP.NET中的回发机制使得用户与控件交互时,整个页面都会重新加载,以便服务器端可以处理...

    ASP.NET 4 从入门到精通 示例文件(包括数据库)

    在ASP.NET 4中,结合ADO.NET,你可以使用控件如GridView、FormView和DetailsView来显示和编辑数据库数据。例如,GridView可以用于展示数据表,用户可以直接在网页上进行添加、编辑和删除操作。 此外,ASP.NET 4还...

    ado.net 数据源与数据绑定控件 示例代码

    在本示例中,我们将深入探讨ADO.NET中的数据源和数据绑定控件,特别是SqlDataSource和ObjectDataSource,以及如何在项目中实现数据的添加、编辑和显示功能。 首先,SqlDataSource是一种内置的数据源控件,它可以...

    用aspnet编写的新闻发布示例系统

    在ASP.NET中,可以通过ASP.NET控件如GridView、DetailsView等与后台代码配合,实现对新闻记录的增删改查功能。同时,需要考虑事务处理以确保数据一致性,以及权限验证防止未经授权的修改。 5. **...

    在ASP.NET 2.0中操作数据之十九:给编辑和新增界面增加验证控件

     在前面三节的示例中,GridView和DetailsView控件使用的是绑定列和CheckBoxField(绑定GridView和DetailsView时,通过智能标记可以令VS根据数据库自动增加对应的类型)。当编辑GridView或者DetailsView中的一行时,...

    使用c#web开发示例

    本示例集合涵盖了多种常见的Web应用类型,如电子商务平台、企业门户网站和图书管理系统,这些都是C# Web开发中的重要应用场景。 1. **C#语言基础**: C#是一种面向对象的编程语言,由微软公司开发,主要应用于...

    GridView演示新增 删除 修改示例

    在本示例中,我们将深入探讨如何利用GridView控件实现数据的新增、删除和修改功能。 首先,GridView控件主要用于显示来自数据库或其他数据源的数据,并且允许用户对数据进行各种操作。它提供了一个表格布局,可以...

    asp.net gridview两种添加记录 图解

    &lt;asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" EmptyDataTemplate='&lt;asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="AccessDataSource1" EnableInserting="True" /&gt;...

    GirdView使用大全

    示例代码展示了如何处理这些事件,连接数据库执行相应的SQL语句。 3. **正反双向排序**:默认情况下,GridView支持单向排序,但可以通过自定义排序函数实现双向排序,即升序和降序。 4. **与下拉菜单...

    visual C# 2005 实例

    第1章(\C01) 示例描述:本章讲解了如何使用C#开发第一个应用程序。 Web应用程序 用C#开发的第一个Web应用程序。 Windows应用程序 用C#开发的第一个Windows应用程序。 &lt;br&gt;第3章(\C03) 示例...

    Beginning ASP.NET 3.5 sample code

    3. **数据绑定**:可能包含使用GridView、FormView、DetailsView等控件进行数据绑定的例子,展示了如何与各种数据源(如SQL Server、XML或Web服务)交互。 4. **状态管理**:ASP.NET提供了多种状态管理机制,如视图...

    ASP.NET 五大数据控件.doc

    - `DetailsView1.ChangeMode(DetailsViewMode.Edit)` 进入编辑模式,`DetailsView1.ChangeMode(DetailsViewMode.ReadOnly)` 则退出编辑模式。 2. **设置主键**: - 对于 DataList 和 DataGrid,可以直接设置 `...

    ASP.NET的3个数据绑定控件

    ASP.NET是一种强大的Web应用程序开发框架,由微软公司推出,它为开发者提供了丰富的工具和控件,简化了Web应用的构建过程。...在文档中,你将找到关于这些控件的具体用法和示例,帮助你更好地理解和运用它们。

    零基础学ASP.NET 2.0电子书&源代码绝对完整版1

    示例描述:本章演示ASP.NET 2.0网站的预编译以及学习ASP.NET 2.0的前置知识。 WebSite文件夹 创建的ASP.NET 2.0 Web站点。 www文件夹 第一个用C#开发的Web应用程序。 bianyi.bat 编译网站的批处理文件。 ...

Global site tag (gtag.js) - Google Analytics