<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Theme="default"%> 2 3<%...@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> 4 5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 6<html xmlns="http://www.w3.org/1999/xhtml"> 7<head runat="server"> 8 <title>Untitled Page</title> 9</head> 10<body> 11 <form id="form1" runat="server"> 12 <asp:ScriptManager ID="ScriptManager1" runat="server" /> 13 <div> 14 <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 15 <ContentTemplate> 16 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CategoryID" 17 DataSourceID="SqlDataSource1"> 18 <Columns> 19 <asp:BoundField DataField="CategoryID" HeaderText="CategoryID" InsertVisible="False" 20 ReadOnly="True" SortExpression="CategoryID" /> 21 <asp:BoundField DataField="CategoryName" HeaderText="CategoryName" SortExpression="CategoryName" /> 22 <asp:BoundField DataField="Description" HeaderText="Description" SortExpression="Description" /> 23 <asp:TemplateField> 24 <ItemTemplate> 25 <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/btn_edit.gif" 26 OnClick="ImageButton1_Click" /> 27 </ItemTemplate> 28 </asp:TemplateField> 29 </Columns> 30 </asp:GridView> 31 <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="Add" /><br /> 32 33 <asp:Button ID="Button3" runat="server" Text="Button" Width="275px" Style="display: none" mce_Style="display: none" /> 34 <cc1:modalpopupextender id="ModalPopupExtender1" runat="server" targetcontrolid="Button3" PopupControlID="Panel1" Drag="true" BackgroundCssClass="modalBackground"></cc1:modalpopupextender> 35 36 <asp:Panel ID="Panel1" runat="server" CssClass="modalBox" Style="display: none;" mce_Style="display: none;" Height="96px" Width="347px"> 37 <asp:HiddenField ID="HiddenField1" runat="server" /> 38 <table> 39 <tr> 40 <td style="width: 100px"> 41 Name:</td> 42 <td style="width: 128px"> 43 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td> 44 </tr> 45 <tr> 46 <td style="width: 100px"> 47 Description:</td> 48 <td style="width: 128px"> 49 <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td> 50 </tr> 51 <tr> 52 <td style="width: 100px"> 53 </td> 54 <td style="width: 128px"> 55 <asp:Button ID="Button1" runat="server" Text="Save" OnClick="Button1_Click" /> 56 <asp:Button ID="Button2" runat="server" Text="Cancel" /></td> 57 </tr> 58 </table> 59 </asp:Panel> 60 </ContentTemplate> 61 </asp:UpdatePanel> 62 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 63 SelectCommand="SELECT [CategoryID], [CategoryName], [Description] FROM [Categories]" UpdateCommand="UPDATE Categories SET CategoryName = @name, Description = @des WHERE (CategoryID = @id)" InsertCommand="INSERT INTO Categories(CategoryName, Description) VALUES (@name, @des)"> 64 </asp:SqlDataSource> 65 66 </div> 67 </form> 68</body> 69</html> using System; 2using System.Data; 3using System.Configuration; 4using System.Web; 5using System.Web.Security; 6using System.Web.UI; 7using System.Web.UI.WebControls; 8using System.Web.UI.WebControls.WebParts; 9using System.Web.UI.HtmlControls; 10using System.Data.SqlClient; 11//From bbs.51aspx.com 12public partial class _Default : System.Web.UI.Page 13...{ 14 protected void Page_Load(object sender, EventArgs e) 15 ...{ 16 17 } 18 protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 19 ...{ 20 ImageButton btnEdit = sender as ImageButton; 21 GridViewRow row = (GridViewRow)btnEdit.NamingContainer; 22 //this.UpdatePanel1.Update(); 23 this.HiddenField1.Value = row.Cells[0].Text; 24 this.TextBox1.Text = row.Cells[1].Text; 25 this.TextBox2.Text = row.Cells[2].Text; 26 this.ModalPopupExtender1.Show(); 27 } 28 protected void Button1_Click(object sender, EventArgs e) 29 ...{ 30 SqlCommand cmd = null; 31 if ("add" == this.HiddenField1.Value) 32 cmd = new SqlCommand(this.SqlDataSource1.InsertCommand); 33 else 34 cmd = new SqlCommand(this.SqlDataSource1.UpdateCommand); 35 using (cmd) 36 ...{ 37 using (cmd.Connection = new SqlConnection(this.SqlDataSource1.ConnectionString)) 38 ...{ 39 cmd.Connection.Open(); 40 cmd.Parameters.AddWithValue("@name", this.TextBox1.Text); 41 cmd.Parameters.AddWithValue("@des", this.TextBox2.Text); 42 if ("add" != this.HiddenField1.Value) 43 cmd.Parameters.AddWithValue("@id", Convert.ToInt32(this.HiddenField1.Value)); 44 cmd.ExecuteNonQuery(); 45 } 46 } 47 48 this.GridView1.DataBind(); 49 this.ModalPopupExtender1.Hide(); 50 51 } 52 protected void Button4_Click(object sender, EventArgs e) 53 ...{ 54 this.HiddenField1.Value = "add"; 55 this.TextBox1.Text = ""; 56 this.TextBox2.Text = ""; 57 this.ModalPopupExtender1.Show(); 58 } 59}