服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - asp.net中DetailsView的使用方法

asp.net中DetailsView的使用方法

2019-09-09 11:01asp.net教程网 ASP.NET教程

asp.net中DetailsView的使用方法,需要的朋友可以参考下。

aspx页面: 

复制代码代码如下:


<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" Height="50px" 
Width="500px" OnModeChanging="DetailsView1_ModeChanging" OnItemDeleting="DetailsView1_ItemDeleting" 
OnItemUpdating="DetailsView1_ItemUpdating" OnItemInserting="DetailsView1_ItemInserting"> 
<Fields> 
<asp:TemplateField HeaderText="ID"> 
<ItemTemplate> 
<%#Eval("Id") %> 
</ItemTemplate> 
<InsertItemTemplate> 
<asp:TextBox ID="txtInsertId" Text="InsertId" runat="server"/> 
</InsertItemTemplate> 
<EditItemTemplate> 
<%#Eval("Id") %> 
</EditItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="Title"> 
<ItemTemplate> 
<%#Eval("Title") %> 
</ItemTemplate> 
<InsertItemTemplate> 
<asp:TextBox ID="txtInsertTitle" Text="InsertTitle" runat="server"/> 
</InsertItemTemplate> 
<EditItemTemplate> 
<asp:TextBox ID="txtEditTitle" Text='<%# Eval("Title") %>' runat="server"/> 
</EditItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="Context"> 
<ItemTemplate> 
<%# Eval("LogContext") %> 
</ItemTemplate> 
<InsertItemTemplate> 
<asp:TextBox ID="txtInsertLogContext" Text="InsertLogContext" runat="server"/> 
</InsertItemTemplate> 
<EditItemTemplate> 
<asp:TextBox ID="txtEditLogContext" Text='<%# Eval("LogContext") %>' runat="server"/> 
</EditItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="操作"> 
<ItemTemplate> 
<asp:Button ID="btnEdit" runat="server" CausesValidation="False" 
CommandName="Edit" Text="编辑" /> 
<asp:Button ID="btnNew" runat="server" CausesValidation="False" 
CommandName="New" Text="新建" /> 
<asp:Button ID="btnDelete" runat="server" CausesValidation="False" 
CommandName="Delete" Text="删除" OnClientClick="return confirm('确定要更新该学生信息吗?');" /> 
</ItemTemplate> 
<InsertItemTemplate> 
<asp:Button ID="btnInsert" runat="server" CausesValidation="True" 
CommandName="Insert" Text="插入" /> 
<asp:Button ID="btnCancel" runat="server" CausesValidation="False" 
CommandName="Cancel" Text="取消" /> 
</InsertItemTemplate> 
<EditItemTemplate> 
<asp:Button ID="btnUpdate" runat="server" CausesValidation="True" 
CommandName="Update" Text="更新" OnClientClick="return confirm('确定要更新该学生信息吗?');" /> 
<asp:Button ID="btnCancel2" runat="server" CausesValidation="False" 
CommandName="Cancel" Text="取消" /> 
</EditItemTemplate> 
</asp:TemplateField> 
</Fields> 
</asp:DetailsView> 



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.Collections.Generic; 
public partial class _Default : System.Web.UI.Page 

protected void Page_Load(object sender, EventArgs e) 

if (!IsPostBack) 

DataToBing(); 


private void DataToBing() 

this.DetailsView1.DataSource = DataGridSource(); 
this.DetailsView1.DataBind(); 

private List<Log> DataGridSource() 

List<Log> logs = new List<Log>(); 
for (int i = 1; i < 11; i++) 

Log log = new Log(); 
log.Id = i; 
log.Title = "标题" + i; 
log.LogContext = "内容" + i; 
logs.Add(log); 

return logs; 

public class Log 

private int id; 
public int Id 

get { return id; } 
set { id = value; } 

private string title; 
public string Title 

get { return title; } 
set { title = value; } 

private string logContext; 
public string LogContext 

get { return logContext; } 
set { logContext = value; } 


protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e) 

this.DetailsView1.ChangeMode(e.NewMode); 
DataToBing(); 

protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e) 

Response.Write("删除操作"); 

protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e) 

TextBox tbTitle = (TextBox)this.DetailsView1.FindControl("txtEditTitle"); 
TextBox tbLogContext = (TextBox)this.DetailsView1.FindControl("txtEditTitle"); 
Response.Write("更新操作 : Title : " + tbTitle.Text + " : LogContext : " + tbLogContext.Text); 

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e) 

Response.Write("插入操作 : "); 

延伸 · 阅读

精彩推荐