代码分析-DataGrid实现增删(带提示)改和分页

来源:互联网 发布:海森矩阵 编辑:程序博客网 时间:2024/05/20 21:46
或许大家会说,网上已经很多类似文章了,包括孟子的,为什么要再写一次? 
我想我们不仅仅要会实现,更多的是需要理解。 
下面先帖出代码,再分析一下其中的一些关键代码。 
数据库表名:tb1,其中有3个字段,分别是ID自增的主键、vName varchar(50)、iAge int 
(以下代码没有做任何错误捕获处理) 
前台 
<%...@ Page language="c#" Codebehind="WebForm5.aspx.cs" AutoEventWireup="false" Inherits="csdn.WebForm5" %>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<HTML> 
    <HEAD> 
        <title>WebForm5</title> 
        <meta c name="GENERATOR"> 
        <meta c name="CODE_LANGUAGE"> 
        <meta c name="vs_defaultClientScript"> 
        <meta c name="vs_targetSchema"> 
    </HEAD> 
    <body> 
        <form id="Form1" method="post" runat="server"> 
            <asp:textbox id="TextBox1" runat="server" Width="88px"></asp:textbox> 
            <asp:TextBox id="TextBox2" runat="server" Width="40px"></asp:TextBox> 
            <asp:Button id="Button1" runat="server" Text="添加"></asp:Button> 
            <asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" DataKeyField="ID" AllowPaging="True" 
                PageSize="5"   > 
                <Columns> 
                    <asp:TemplateColumn HeaderText="姓名"> 
                        <ItemTemplate> 
                            <%...# DataBinder.Eval(Container.DataItem,"vName") %> 
                        </ItemTemplate> 
                        <EditItemTemplate> 
                            <asp:TextBox id="name" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"vName") %>' Width="88px"> 
                            </asp:TextBox>
 
                        </EditItemTemplate> 
                    </asp:TemplateColumn> 
                    <asp:TemplateColumn HeaderText="年龄"> 
                        <ItemTemplate> 
                            <%...# DataBinder.Eval(Container.DataItem,"iAge") %> 
                        </ItemTemplate> 
                        <EditItemTemplate> 
                            <asp:TextBox id="age" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"iAge") %>' Width="40px"> 
                            </asp:TextBox>
 
                        </EditItemTemplate> 
                    </asp:TemplateColumn> 
                    <asp:EditCommandColumn UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn> 
                    <asp:ButtonColumn Text="删除" CommandName="del"></asp:ButtonColumn> 
                </Columns> 
                <PagerStyle Mode="NumericPages"></PagerStyle> 
            </asp:datagrid></form> 
    </body> 
</HTML>