常用的ASP.NET 绑定数据控件

概述
        数据绑定控件是指可绑定到数据源控件,以实现在 Web 应用程序中轻松显示和修改数据的控件。数据绑定控件是将其他 ASP.NET Web 控件组合到单个布局中的复合控件。
        使用数据绑定控件,您不仅能够将控件绑定到一个数据结果集,还能够使用模板自定义控件的布局。它们还提供用于处理和取消事件的方便模型。
    将数据绑定控件绑定到数据源
        可通过将一个数据绑定控件绑定到诸如 ObjectDataSource 或 SqlDataSource 控件等数据源控件来使用它。数据源控件连接到数据库或中间层对象等数据源,然后检索或更新数据。之后,数据绑定控件即可使用此数据。要执行绑定,应将数据绑定控件的 DataSourceID 属性设置为指向数据源控件。当数据绑定控件绑定到数据源控件时,您无需编写代码或只需很少的额外代码即可执行数据操作,因为数据绑定控件可自动利用数据源控件所提供的数据服务。
        通用的做法是对控件的DataSource进行赋值绑定,在控件的处理事件中完成对数据的增删改排序等操作。
    常用的数据绑定控件
        GridView 控件
        GridView 控件以表的形式显示数据,并提供对列进行排序、翻阅数据以及编辑或删除单个记录的功能。GridView 控件是 ASP.NET 的早期版本中提供的 DataGrid 控件的后继控件。除了添加利用数据源控件功能的新功能,GridView 控件还实现了某些改进,例如,定义多个主键字段的功能、使用绑定字段和模板的改进用户界面自定义以及用于处理或取消事件的新模型。
        DetailsView 控件
        DetailsView 控件一次呈现一条表格形式的记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。DetailsView 控件通常用在主/详细信息方案中,在这种方案中,主控件(如 GridView 控件)中的所选记录决定了 DetailsView 控件显示的记录。
        FormView 控件
        FormView 控件与 DetailsView 控件类似,它一次呈现数据源中的一条记录,并提供翻阅多条记录以及插入、更新和删除记录的功能。不过,FormView 控件与 DetailsView 控件之间的差别在于:DetailsView 控件使用基于表的布局,在这种布局中,数据记录的每个字段都显示为控件中的一行。而 FormView 控件则不指定用于显示记录的预定义布局。实际上,您将创建包含控件的模板,以显示记录中的各个字段。该模板包含用于设置窗体布局的格式、控件和绑定表达式。
        Repeater 控件
        Repeater 控件使用数据源返回的一组记录呈现只读列表。与 FormView 控件类似,Repeater 控件不指定内置布局。您可以使用模板创建 Repeater 控件的布局。
        DataList 控件
        DataList 控件以表的形式呈现数据,通过该控件,您可以使用不同的布局来显示数据记录,例如,将数据记录排成列或行的形式。您可以对 DataList 控件进行配置,使用户能够编辑或删除表中的记录。(DataList 控件不使用数据源控件的数据修改功能;您必须自己提供此代码。)DataList 控件与 Repeater 控件的不同之处在于:DataList 控件将项显式放在 HTML 表中,而 Repeater 控件则不然。

GridView 控件
    GridView 控件用于显示表中的数据。通过使用 GridView 控件,您可以显示、编辑、删除、排序和翻阅多种不同的数据源(包括数据库、XML 文件和公开数据的业务对象)中的表格数据。
    可以使用 GridView 来完成以下操作:
    通过数据源控件自动绑定和显示数据。
    通过数据源控件对数据进行选择、排序、分页、编辑和删除。
    另外,还可以通过以下方式自定义 GridView 控件的外观和行为:
    指定自定义列和样式。
    利用模板创建自定义用户界面 (UI) 元素。
    通过处理事件将自己的代码添加到 GridView 控件的功能中。
    开发参考:
        http://blog.csdn.net/wgf2006/archive/2006/05/30/762856.aspx
        http://blog.csdn.net/wgf2006/archive/2006/05/30/762847.aspx

DetailsView 控件
    DetailsView 控件用于显示表中数据源的单个记录,其中每个数据行表示记录中的一个字段。该控件通常与 GridView 控件组合使用,构成主-从方案。
    使用 DetailsView 控件,您可以从它的关联数据源中一次显示、编辑、插入或删除一条记录[需要数据源对象的支持]。默认情况下,DetailsView 控件将记录的每个字段显示在它自己的一行内。DetailsView 控件通常用于更新和插入新记录,并且通常在主/详细方案中使用,在这些方案中,主控件的选中记录决定要在 DetailsView 控件中显示的记录。即使 DetailsView 控件的数据源公开了多条记录,该控件一次也仅显示一条数据记录。
    DetailsView 控件依赖于数据源控件的功能执行诸如更新、插入和删除记录等任务。DetailsView 控件不支持排序。
    DetailsView 控件可以自动对其关联数据源中的数据进行分页,但前提是数据由支持 ICollection 接口的对象表示或基础数据源支持分页。DetailsView 控件提供用于在数据记录之间导航的用户界面 (UI)。若要启用分页行为,请将 AllowPaging 属性设置为 true。
    从关联的数据源选择特定的记录时,可以通过分页到该记录进行选择。由 DetailsView 控件显示的记录是当前选择的记录。
    使用 DetailsView 控件数据:
    这里主要介绍几个属性:
    AutoGenerateDeleteButton :自动生成删除按钮
    AutoGenerateEditButton  :自动生成编辑按钮
    AutoGenerateInsertButton :自动生成插入按钮   
    CurrentMode:当前的模式   
    DefaultMode:默认模式
    ChangeMode():改变模式
    AllowPaging :是否分页显示。
    自定义界面
    DetailsView 控件支持 Fields 集合属性,后者包含类型为 BoundField、CommandField 或 HyperLinkField 的 DataControlField 对象。除了 DetailsView 控件将每个字段呈现为一行而不是一列之外,这在功能上与 GridView 控件的 Columns 集合相似。
    与 GridView 控件一样,您可以自定义 DetailsView 控件的用户界面,方法是使用 HeaderStyle、RowStyle、AlternatingRowStyle、CommandRowStyle、FooterStyle、PagerStyle 和 EmptyDataRowStyle 这样的样式属性。
    DetailsView 控件通过模板提供了其他自定义方法,使您可以更多地控制某些元素的呈现。可以为 DetailsView 控件定义自己的 EmptyDataTemplate、HeaderTemplate、FooterTemplate 和 PagerTemplate 属性。还可为通过将 TemplateField 对象添加到 Fields 集合中来为单个字段创建一个模板。
    开发参考:
    http://blog.csdn.net/huanghai223/archive/2007/09/25/1800201.aspx

FormView 控件
    FormView 控件使您可以使用数据源中的单个记录,该控件与 DetailsView 控件相似。FormView 控件和 DetailsView 控件之间的差别在于 DetailsView 控件使用表格布局,在该布局中,记录的每个字段都各自显示为一行。而 FormView 控件不指定用于显示记录的预定义布局。实际上,您将创建一个包含控件的模板,以显示记录中的各个字段。该模板中包含用于创建窗体的格式、控件和绑定表达式。
    FormView 控件通常用于更新和插入新记录,并且通常在主/详细方案中使用,在这些方案中,主控件的选中记录决定要在 FormView 控件中显示的记录。
    FormView 控件依赖于数据源控件的功能执行诸如更新、插入和删除记录的任务
    FormView 控件可以自动对它的关联数据源中的数据进行分页,一次一个记录,但前提是数据由实现 ICollection 接口的对象表示或基础数据源支持分页。FormView 控件提供了用于在记录之间导航的用户界面 (UI)。若要启用分页行为,请将 AllowPaging 属性设置为 true,并指定一个 PagerTemplate 值。
    创建用户界面
    可以通过创建模板来为 FormView 控件生成用户界面 (UI)。为不同操作指定不同的模板。您可以为显示、插入和编辑模式创建一个 ItemTemplate 模板。您可以使用 PagerTemplate 模板控制分页,还可以使用 HeaderTemplate 和 FooterTemplate 模板分别自定义 FormView 控件的页眉和页脚。使用 EmptyDataTemplate 还可以指定在数据源不返回任何数据时显示的模板。
    为 FormView 控件创建的项模板指定控件的内容。使用 DetailsView 控件,您还可以通过使用样式属性(例如 EditRowStyle、EmptyDataRowStyle、FooterStyle、HeaderStyle、InsertRowStyle、PagerStyle 和 RowStyle 属性)自定义 FormView 控件的显示格式。

Repeater 控件
    Repeater 控件是一个数据绑定容器控件,它生成各个项的列表。您使用模板定义网页上各个项的布局。当该页运行时,该控件为数据源中的每个项重复此布局。
    Repeater 控件没有默认的外观,因此可以使用该控件创建许多种列表,其中包括:
    表布局
    逗号分隔的列表(例如,a、b、c、d 等)
    XML 格式的列表
    配合模板使用 Repeater 控件
    若要使用 Repeater 控件,请创建定义控件内容布局的模板。模板可以包含标记和控件的任意组合。如果未定义模板,或者如果模板都不包含元素,则当应用程序运行时,该控件不显示在页上。
    下表描述了 Repeater 控件支持的模板。
    模板属性    说明 
    ItemTemplate    包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。
    AlternatingItemTemplate  包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。通常,可以使用此模板为交替项创建不同的外观,例如指定一种与在 ItemTemplate 中指定的颜色不同的背景色。
    HeaderTemplate 和 FooterTemplate 包含在列表的开始和结束处分别呈现的文本和控件。
    SeparatorTemplate  包含在每项之间呈现的元素。典型的示例可能是一条直线(使用 hr 元素)。
    开发参考
    http://dev.csdn.net/article/29/29697.shtm

DataList 控件
    DataList控件以某种格式显示数据,这种格式可以使用模板和样式进行定义。DataList 控件可用于任何重复结构中的数据,如表。DataList 控件可以以不同的布局显示行,如按列或行对数据进行排序
    您可以选择将 DataList 控件配置为允许用户编辑或删除信息。还可以自定义该控件以支持其他功能,如选择行。
    您可以使用模板通过包括 HTML 文本和控件来定义数据项的布局。例如,可以在某项中使用 Label Web 服务器控件来显示数据源中的字段。
    项定义模板
    模板属性        说明 
    ItemTemplate        包含一些 HTML 元素和控件,将为数据源中的每一行呈现一次这些 HTML 元素和控件。
    AlternatingItemTemplate 包含一些 HTML 元素和控件,将为数据源中的每两行呈现一次这些 HTML 元素和控件。通常,您可以使用此模板来为交替行创建不同的外观,例如指定一个与在 ItemTemplate 属性中指定的颜色不同的背景色。
    SelectedItemTemplate    包含一些元素,当用户选择 DataList 控件中的某一项时将呈现这些元素。通常,您可以使用此模板来通过不同的背景色或字体颜色直观地区分选定的行。还可以通过显示数据源中的其他字段来展开该项。
    EditItemTemplate    指定当某项处于编辑模式中时的布局。此模板通常包含一些编辑控件,如 TextBox 控件。
    HeaderTemplate 和 FooterTemplate    包含在列表的开始和结束处分别呈现的文本和控件。
    SeparatorTemplate    包含在每项之间呈现的元素。典型的示例可能是一条直线(使用 HR 元素)。
    样式
    AlternatingItemStyle
    EditItemStyle
    FooterStyle
    HeaderStyle
    ItemStyle
    SelectedItemStyle
    SeparatorStyle
    项的布局
    DataList 控件使用 HTML 表对应用模板的项的呈现方式进行布局。您可以控制各个表单元格的顺序、方向和列数,这些单元格用于呈现 DataList 项。下表描述了 DataList 控件支持的布局选项。
    布局选项    说明 
    流布局        在流布局中,列表项在行内呈现,如同文字处理文档中一样。
    表布局        在表布局中,列表项在 HTML 表中呈现。由于在表布局中可让您设置表单元格属性(如网格线),这就为您提供了更多可用于指定列表项外观的选项。有关详细信息,请参见如何:在 DataList Web 服务器控件中指定流格式或表格式。
    垂直布局和水平布局 默认情况下,DataList 控件中的项在单个垂直列中显示。但是,可以指定该控件包含多个列。如果这样,可进一步指定这些项是垂直排序(类似于报刊栏)还是水平排列(类似于日历中的日)。有关详细信息,请参见如何:指定 DataList Web 服务器控件中的水平或垂直布局。
    列数        不管 DataList 控件中的项是垂直排序还是水平排序,您都可指定列表将有多少列。这使您能够控制网页呈现的宽度,通常可避免水平滚动。
    事件
    若要引发这些事件,可将 Button、LinkButton 或 ImageButton 控件添加到 DataList 控件中的模板中,并将这些按钮的 CommandName 属性设置为某个关键字,如 edit、delete、update 或 cancel。当用户单击项中的某个按钮时,就会向该按钮的容器(DataList 控件)发送事件。按钮具体引发哪个事件将取决于所单击按钮的 CommandName 属性的值。
    DataList 控件还支持 ItemCommand 事件,当用户单击某个没有预定义命令(如 edit 或 delete)的按钮时将引发该事件。您可以按照如下方法将此事件用于自定义功能:将某个按钮的 CommandName 属性设置为一个自己所需的值,然后在 ItemCommand 事件处理程序中测试这个值。

示例代码
default.aspx
<% @ Page Language = " C# "  AutoEventWireup = " true "   CodeFile = " Default.aspx.cs "  Inherits = " _Default "   %>

<% @ Register Assembly = " Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a "
    Namespace
= " Microsoft.Reporting.WebForms "  TagPrefix = " rsweb "   %>

<! 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 >
        
< strong >
        DataList Example
</ strong >< br  />
        
< asp:DataList ID = " dlTest "  runat = " server "  CellPadding = " 4 "  ForeColor = " #333333 "  Width = " 452px "  RepeatColumns = " 2 "  RepeatDirection = " Horizontal "   >
        
< HeaderTemplate > Title </ HeaderTemplate >
        
< ItemTemplate > 学号: <% #Eval( " ID " %>< Br  /> 姓名: <% # DataBinder.Eval(Container.DataItem,  " Name " %>   < Br  /> 性别: <% #Eval( " Sex " %>
        
< br  />  
            
< asp:LinkButton ID = " LinkButton1 "  runat = " server " > LinkButton </ asp:LinkButton >< br  />
</ ItemTemplate >
            
< FooterStyle BackColor = " #5D7B9D "  Font - Bold = " True "  ForeColor = " White "   />
            
< SelectedItemStyle BackColor = " #E2DED6 "  Font - Bold = " True "  ForeColor = " #333333 "   />
            
< AlternatingItemStyle BackColor = " White "  ForeColor = " #284775 "   />
            
< ItemStyle BackColor = " #F7F6F3 "  ForeColor = " #333333 "   />
            
< HeaderStyle BackColor = " #5D7B9D "  Font - Bold = " True "  ForeColor = " White "   />
        
        
</ asp:DataList >
        
        
< br  />
        
< br  />
        
< strong >
            
< hr  />
        Repeater Example
</ strong ></ div >
        
< asp:Repeater ID = " rptTest "  runat = " server " >         
        
< HeaderTemplate > List Title < br  /></ HeaderTemplate >
        
< ItemTemplate ><% # DataBinder.Eval(Container.DataItem, " Name " %>< br  /></ ItemTemplate >
        
< FooterTemplate > Foot < br  /></ FooterTemplate >
        
</ asp:Repeater >
        
& nbsp; & nbsp;
        
< br  />
        
< hr  />
        
< strong >
        DetailView Example
</ strong >< br  />
        
< asp:DetailsView ID = " dtlvTest "     runat = " server "  Height = " 50px "  Width = " 242px "  AutoGenerateDeleteButton = " True "  AutoGenerateEditButton = " True "  AutoGenerateInsertButton = " True "  BackColor = " White "  BorderColor = " #E7E7FF "  BorderStyle = " None "  BorderWidth = " 1px "  CellPadding = " 3 "  GridLines = " Horizontal "  AllowPaging = " True "  OnModeChanging = " dtlvTest_ModeChanging "  OnPageIndexChanging = " dtlvTest_PageIndexChanging " >
            
< FooterStyle BackColor = " #B5C7DE "  ForeColor = " #4A3C8C "   />
            
< EditRowStyle BackColor = " #738A9C "  Font - Bold = " True "  ForeColor = " #F7F7F7 "   />
            
< RowStyle BackColor = " #E7E7FF "  ForeColor = " #4A3C8C "   />
            
< PagerStyle BackColor = " #E7E7FF "  ForeColor = " #4A3C8C "  HorizontalAlign = " Right "   />
            
< HeaderStyle BackColor = " #4A3C8C "  Font - Bold = " True "  ForeColor = " #F7F7F7 "   />
            
< AlternatingRowStyle BackColor = " #F7F7F7 "   />
            
< EmptyDataTemplate >  no data         
            
</ EmptyDataTemplate >
            
< Fields >
            
< asp:TemplateField >
            
< ItemTemplate > 姓名:   <% # DataBinder.Eval(Container.DataItem, " Name " %></ ItemTemplate >              
             
</ asp:TemplateField >
            
</ Fields >
        
</ asp:DetailsView >
        
< hr  />
        
< strong >
        FormView
</ strong >& nbsp;  < strong > Example </ strong >< asp:FormView ID = " fvTest "  runat = " server "  BackColor = " White "  BorderColor = " #999999 "
            BorderStyle
= " None "  BorderWidth = " 1px "  CellPadding = " 3 "  GridLines = " Vertical "  AllowPaging = " True "  OnItemDeleting = " fvTest_ItemDeleting "  OnItemInserting = " fvTest_ItemInserting "  OnItemUpdating = " fvTest_ItemUpdating "  OnModeChanging = " fvTest_ModeChanging "  OnPageIndexChanging = " fvTest_PageIndexChanging "  OnItemCommand = " fvTest_ItemCommand "  DefaultMode = " Edit " >
            
< FooterStyle BackColor = " #CCCCCC "  ForeColor = " Black "   />
            
< EditRowStyle BackColor = " #008A8C "  Font - Bold = " True "  ForeColor = " White "   />
            
< RowStyle BackColor = " #EEEEEE "  ForeColor = " Black "   />
            
< PagerStyle BackColor = " #999999 "  ForeColor = " Black "  HorizontalAlign = " Center "   />
            
< HeaderStyle BackColor = " #000084 "  Font - Bold = " True "  ForeColor = " White "   />
            
< HeaderTemplate >< table width = " 200 "  border = " 1 " ></ HeaderTemplate >
            
< ItemTemplate >
            
< tr >
                
< td width = " 67 "  align = " right " > 编号 </ td >
                
< td width = " 117 " >& nbsp; <% # Eval( " ID " %></ td >
              
</ tr >
             
< tr >
                
< td align = " right " > 姓名 </ td >
                
< td >& nbsp; <% # Eval( " Name " ) %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 性别 </ td >
                
< td >& nbsp; <% # Eval( " Sex " ) %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 出生日期 </ td >
                
< td >& nbsp; <% # Eval( " Birthday " %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 班级 </ td >
                
< td >& nbsp; <% # Eval( " ClassID " %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 城市 </ td >
                
< td >& nbsp; <% # Eval( " City " %></ td >
              
</ tr >
              
< tr >
                
< td colspan = " 2 " >< asp:LinkButton ID = " EditButton "
                                        Text
= " Edit "
                                        CommandName
= " Edit "
                                        RunAt
= " server " />
                        
& nbsp;
                        
< asp:LinkButton ID = " NewButton "
                                        Text
= " New "
                                        CommandName
= " New "
                                        RunAt
= " server " />
                        
& nbsp;
                        
< asp:LinkButton ID = " DeleteButton "
                                        Text
= " Delete "
                                        CommandName
= " Delete "
                                        RunAt
= " server " />
</ td >
            
</ tr >
  
</ ItemTemplate >
  
< EditItemTemplate >
   
< tr >
                
< td width = " 67 "  align = " right " > 编号 </ td >
                
< td width = " 117 " >& nbsp; <% # Eval( " ID " %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 姓名 </ td >
                
< td >& nbsp; < asp:TextBox ID = " TextBox1 "  runat = " server "  Text = ' <%# Eval("Name")%> ' ></ asp:TextBox ></ td >
              
</ tr >

              
< tr >
                
< td align = " right " > 性别 </ td >
                
< td >& nbsp; < asp:DropDownList ID = " DropDownList1 "   runat = " server " >
                
< asp:ListItem Text = " male "  Value = " male " ></ asp:ListItem >
                 
< asp:ListItem Text = " female "  Value = " female " ></ asp:ListItem >
                
</ asp:DropDownList ></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 出生日期 </ td >
                
< td >& nbsp; <% # Eval( " Birthday " %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 班级 </ td >
                
< td >& nbsp; <% # Eval( " ClassID " %></ td >
              
</ tr >
              
< tr >
                
< td align = " right " > 城市 </ td >
                
< td >& nbsp; <% # Eval( " City " %></ td >
              
</ tr >
              
< tr >
                
< td colspan = " 2 " >& nbsp; </ td >
            
</ tr >
  
</ EditItemTemplate >
            
< FooterTemplate ></ table ></ FooterTemplate >
        
</ asp:FormView >
        
< br  />
        
< asp:Label ID = " lblCommandInfo "  runat = " server "  Text = " Label " ></ asp:Label >
        
< br  />
        
< hr  />
        
< strong > GridView </ strong >& nbsp;  < strong > Example </ strong >< br  />
        
< asp:GridView ID = " GridView1 "  runat = " server " >
        
</ asp:GridView >
    
</ form >
</ body >
</ html >
default.aspx.cs
using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Xml;
public   partial   class  _Default : System.Web.UI.Page 
{
    
private string mXmlPath ;
    
protected void Page_Load(object sender, EventArgs e)
    
{
        mXmlPath 
= Server.MapPath("~/App_Data/Students.xml");
        DataSet xmlDs 
= new DataSet();
        xmlDs.ReadXml(mXmlPath);
        dlTest.DataSource 
= xmlDs.Tables[0].DefaultView;
        
//dlTest.DataSourceID = "";
        dlTest.DataBind();
        rptTest.DataSource 
= xmlDs.Tables[0].DefaultView;
        rptTest.DataBind();
        dtlvTest.DataSource 
= xmlDs.Tables[0].DefaultView;
        dtlvTest.DataBind();
        fvTest.DataSource 
= xmlDs.Tables[0].DefaultView;
        fvTest.DataBind();
    }

    
protected void dtlvTest_ModeChanging(object sender, DetailsViewModeEventArgs e)
    
{
        
//dtlvTest.DefaultMode = e.NewMode;
        
//dtlvTest.DataBind();
        
//Response.Write(e.NewMode.ToString());
        dtlvTest.ChangeMode(e.NewMode);
    }

    
protected void dtlvTest_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
    
{
        dtlvTest.PageIndex 
= e.NewPageIndex;
        dtlvTest.DataBind();
    }

    
protected void fvTest_ModeChanging(object sender, FormViewModeEventArgs e)
    
{

    }

    
protected void fvTest_PageIndexChanging(object sender, FormViewPageEventArgs e)
    
{
        fvTest.PageIndex 
= e.NewPageIndex;
        fvTest.DataBind();
    }

    
protected void fvTest_ItemInserting(object sender, FormViewInsertEventArgs e)
    
{

    }

    
protected void fvTest_ItemUpdating(object sender, FormViewUpdateEventArgs e)
    
{

    }

    
protected void fvTest_ItemDeleting(object sender, FormViewDeleteEventArgs e)
    
{
      
//  Response.Write(e.RowIndex);
    }

    
protected void fvTest_ItemCommand(object sender, FormViewCommandEventArgs e)
    
{
        
string commandName=e.CommandName;
        
if (commandName.Equals("Edit"))
        
{
            fvTest.ChangeMode(FormViewMode.Edit);
        }

        
else if (commandName.Equals("New"))
        
{
            fvTest.ChangeMode(FormViewMode.Insert);
        }

        
else
        
{
            fvTest.ChangeMode(FormViewMode.ReadOnly);
        }

        fvTest.DataBind();
        lblCommandInfo.Text 
=string.Format("The CommandName is {0}.",e.CommandName);
    }

}

xml数据文档
<? xml version="1.0" encoding="utf-8" ?>
< Students >
    
< student >
        
< ID > 01 </ ID >
        
< Name > Wang A </ Name >
        
< Birthday > 1980-8-6 </ Birthday >
        
< Sex > male </ Sex >
        
< ClassID > 1 </ ClassID >
        
< City > 01 </ City >
    
</ student >
    
< student >
        
< ID > 02 </ ID >
        
< Name > Yu B </ Name >
        
< Birthday > 1981-6-7 </ Birthday >
        
< Sex > male </ Sex >
        
< ClassID > 1 </ ClassID >
        
< City > 06 </ City >
    
</ student >
    
< student >
        
< ID > 03 </ ID >
        
< Name > Guo C </ Name >
        
< Birthday > 1982-7-4 </ Birthday >
        
< Sex > male </ Sex >
        
< ClassID > 1 </ ClassID >
        
< City > 03 </ City >
    
</ student >
    
< student >
        
< ID > 04 </ ID >
        
< Name > Han D </ Name >
        
< Birthday > 1984-12-12 </ Birthday >
        
< Sex > female </ Sex >
        
< ClassID > 1 </ ClassID >
        
< City > 12 </ City >
    
</ student >
</ Students >


更多内容正在整理中...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值