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("插入操作 : "); 
    } 
}

(转自 http://www.cnblogs.com/tianguook/archive/2010/10/20/1856436.html)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值