DetailsView 用法

来源:互联网 发布:单片机舵机控制原理 编辑:程序博客网 时间:2024/04/29 08:39

 

  1. <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" Height="50px"
  2.     Width="500px" OnModeChanging="DetailsView1_ModeChanging" OnItemDeleting="DetailsView1_ItemDeleting" 
  3.     OnItemUpdating="DetailsView1_ItemUpdating" OnItemInserting="DetailsView1_ItemInserting">
  4.     <Fields>
  5.         <asp:TemplateField HeaderText="ID">
  6.             <ItemTemplate>
  7.                 <%#Eval("Id") %>
  8.             </ItemTemplate>
  9.             <InsertItemTemplate>
  10.                 <asp:TextBox ID="txtInsertId" Text="InsertId" runat="server"/>
  11.             </InsertItemTemplate>
  12.             <EditItemTemplate>
  13.                 <%#Eval("Id") %>
  14.             </EditItemTemplate>
  15.         </asp:TemplateField>
  16.         
  17.         <asp:TemplateField HeaderText="Title">
  18.             <ItemTemplate>
  19.                 <%#Eval("Title") %>
  20.             </ItemTemplate>
  21.             <InsertItemTemplate>
  22.                 <asp:TextBox ID="txtInsertTitle" Text="InsertTitle" runat="server"/>
  23.             </InsertItemTemplate>
  24.             <EditItemTemplate>
  25.                 <asp:TextBox ID="txtEditTitle" Text='<%# Eval("Title") %>' runat="server"/>
  26.             </EditItemTemplate>
  27.         </asp:TemplateField>
  28.         
  29.         
  30.         <asp:TemplateField HeaderText="Context">
  31.             <ItemTemplate>
  32.                 <%# Eval("LogContext") %>
  33.             </ItemTemplate>
  34.             <InsertItemTemplate>
  35.                 <asp:TextBox ID="txtInsertLogContext" Text="InsertLogContext" runat="server"/>
  36.             </InsertItemTemplate>
  37.             <EditItemTemplate>
  38.                 <asp:TextBox ID="txtEditLogContext" Text='<%# Eval("LogContext") %>' runat="server"/>
  39.             </EditItemTemplate>                    
  40.         </asp:TemplateField>                
  41.         
  42.         <asp:TemplateField HeaderText="操作">
  43.             <ItemTemplate>
  44.                 <asp:Button ID="btnEdit" runat="server" CausesValidation="False" 
  45.                 CommandName="Edit" Text="编辑" />
  46.                 <asp:Button ID="btnNew" runat="server" CausesValidation="False" 
  47.                 CommandName="New" Text="新建" />
  48.                 <asp:Button ID="btnDelete" runat="server" CausesValidation="False" 
  49.                 CommandName="Delete" Text="删除" OnClientClick="return confirm('确定要更新该学生信息吗?');" />
  50.             </ItemTemplate>
  51.             <InsertItemTemplate>
  52.                 <asp:Button ID="btnInsert" runat="server" CausesValidation="True" 
  53.                 CommandName="Insert" Text="插入" />
  54.                 <asp:Button ID="btnCancel" runat="server" CausesValidation="False" 
  55.                 CommandName="Cancel" Text="取消" />
  56.             </InsertItemTemplate>                     
  57.             <EditItemTemplate>
  58.                 <asp:Button ID="btnUpdate" runat="server" CausesValidation="True" 
  59.                 CommandName="Update" Text="更新" OnClientClick="return confirm('确定要更新该学生信息吗?');" />
  60.                 <asp:Button ID="btnCancel2" runat="server" CausesValidation="False" 
  61.                 CommandName="Cancel" Text="取消" />
  62.             </EditItemTemplate>                   
  63.         </asp:TemplateField>
  64.     </Fields>
  65. </asp:DetailsView>
  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. using System.Collections.Generic;
  11. public partial class _Default : System.Web.UI.Page 
  12. {
  13.     protected void Page_Load(object sender, EventArgs e)
  14.     {
  15.         if (!IsPostBack)
  16.         {
  17.             DataToBing();
  18.         } 
  19.     }
  20.     private void DataToBing()
  21.     {
  22.         this.DetailsView1.DataSource = DataGridSource();
  23.         this.DetailsView1.DataBind();
  24.     }
  25.     private List<Log> DataGridSource()
  26.     {
  27.         List<Log> logs = new List<Log>();
  28.         for (int i = 1; i < 11; i++)
  29.         {
  30.             Log log = new Log();
  31.             log.Id = i;
  32.             log.Title = "标题" + i;
  33.             log.LogContext = "内容" + i;
  34.             logs.Add(log);
  35.         }
  36.         return logs;
  37.     }
  38.     public class Log
  39.     {
  40.         private int id;
  41.         public int Id
  42.         {
  43.             get { return id; }
  44.             set { id = value; }
  45.         }
  46.         private string title;
  47.         public string Title
  48.         {
  49.             get { return title; }
  50.             set { title = value; }
  51.         }
  52.         private string logContext;
  53.         public string LogContext
  54.         {
  55.             get { return logContext; }
  56.             set { logContext = value; }
  57.         }
  58.     }
  59.     protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
  60.     {
  61.         this.DetailsView1.ChangeMode(e.NewMode);
  62.         DataToBing();
  63.     }
  64.     protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
  65.     {
  66.         Response.Write("删除操作");
  67.     }
  68.     protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
  69.     {
  70.         TextBox tbTitle = (TextBox)this.DetailsView1.FindControl("txtEditTitle");
  71.         TextBox tbLogContext = (TextBox)this.DetailsView1.FindControl("txtEditTitle");
  72.         Response.Write("更新操作 : Title : " + tbTitle.Text + " : LogContext : " + tbLogContext.Text);
  73.     }
  74.     protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
  75.     {
  76.         Response.Write("插入操作 : ");
  77.     }
  78. }