Default.aspx:

<asp:DataList ID="DataList1" runat="server" OnCancelCommand="DataList1_Cancel" OnDeleteCommand="DataList1_Delete" OnEditCommand="DataList1_Edit" OnUpdateCommand="DataList1_Update" DataKeyField="ID">
<ItemTemplate>
<div style="background-color:Red;"><%# Eval("id")%>,<%# Eval("sitename")%>,<%# Eval("url")%><asp:Button ID="Button1" CommandName="edit" runat="server"
Text="Edit" /><asp:Button ID="Button2" CommandName="delete" runat="server" Text="Delete" /></div>
</ItemTemplate>
<SeparatorTemplate>
<hr style="height:1px;" />
</SeparatorTemplate>
<EditItemTemplate>
<div><asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("sitename") %>'></asp:TextBox><asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("url") %>'></asp:TextBox>
<asp:Button
ID="Button7" CommandName="update" runat="server" Text="Update" /><asp:Button ID="Button8" CommandName="cancel" runat="server"
Text="Cancel" /></div>
</EditItemTemplate>
</asp:DataList>
<ItemTemplate>
<div style="background-color:Red;"><%# Eval("id")%>,<%# Eval("sitename")%>,<%# Eval("url")%><asp:Button ID="Button1" CommandName="edit" runat="server"
Text="Edit" /><asp:Button ID="Button2" CommandName="delete" runat="server" Text="Delete" /></div>
</ItemTemplate>
<SeparatorTemplate>
<hr style="height:1px;" />
</SeparatorTemplate>
<EditItemTemplate>
<div><asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("sitename") %>'></asp:TextBox><asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("url") %>'></asp:TextBox>
<asp:Button
ID="Button7" CommandName="update" runat="server" Text="Update" /><asp:Button ID="Button8" CommandName="cancel" runat="server"
Text="Cancel" /></div>
</EditItemTemplate>
</asp:DataList>
Default.aspx.cs:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataColumn dc;
DataRow dr;
//---------------------添加字段----------------
//建立字段1
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.Int32");
dc.ColumnName = "id";
dc.AutoIncrement = true;//标识
dc.AutoIncrementSeed = 1;//标识种子
dc.AutoIncrementStep = 1;//标识递增量
dt.Columns.Add(dc);
//建立字段2
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "sitename";
dc.AllowDBNull = true;
dt.Columns.Add(dc);
//建立字段3
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "url";
dc.AllowDBNull = true;
dt.Columns.Add(dc);
//设置主键
DataColumn[] newdc = new DataColumn[1];//可设置多个字段为主键
newdc[0] = dt.Columns["id"];
dt.PrimaryKey = newdc;
//---------------------添加记录----------------
//记录1
dr = dt.NewRow();
dr["sitename"] = "尚网";
dr["url"] = "http://www.jjshang.com/";
dt.Rows.Add(dr);
//记录2
dr = dt.NewRow();
dr["sitename"] = "木子屋";
dr["url"] = "http://www.mzwu.com/";
dt.Rows.Add(dr);
//记录3
dr = dt.NewRow();
dr["sitename"] = "网易";
dr["url"] = "http://www.126.com/";
dt.Rows.Add(dr);
//----把表添加到DataSet并绑定到DataList----
ds.Tables.Add(dt);
ds.Tables[0].TableName = "HomePage";
Session["ds"] = ds;
BindData();
}
}
private void BindData()
{
((DataSet)Session["ds"]).Tables["HomePage"].DefaultView.Sort = "id desc";
DataList1.DataSource = ((DataSet)Session["ds"]).Tables["HomePage"].DefaultView;
DataList1.DataBind();
}
protected void DataList1_Cancel(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
BindData();
}
protected void DataList1_Delete(object source, DataListCommandEventArgs e)
{
int id = (int)DataList1.DataKeys[e.Item.ItemIndex];
DataRow dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[GetRow(id)];
dr.Delete();
DataList1.EditItemIndex = -1;
BindData();
}
protected void DataList1_Edit(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindData();
}
protected void DataList1_Update(object source, DataListCommandEventArgs e)
{
string sitename = ((TextBox)e.Item.FindControl("TextBox1")).Text;
string url = ((TextBox)e.Item.FindControl("TextBox2")).Text;
int id = (int)DataList1.DataKeys[e.Item.ItemIndex];
DataRow dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[GetRow(id)];
dr["sitename"] = sitename;
dr["url"] = url;
DataList1.EditItemIndex = -1;
BindData();
}
private int GetRow(int id)
{
DataRow dr;
for (int i = 0; i < ((DataSet)Session["ds"]).Tables["HomePage"].Rows.Count; i++)
{
dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[i];
if ((int)dr["id"] == id) return i;
}
return 0;
}
}
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
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;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
DataColumn dc;
DataRow dr;
//---------------------添加字段----------------
//建立字段1
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.Int32");
dc.ColumnName = "id";
dc.AutoIncrement = true;//标识
dc.AutoIncrementSeed = 1;//标识种子
dc.AutoIncrementStep = 1;//标识递增量
dt.Columns.Add(dc);
//建立字段2
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "sitename";
dc.AllowDBNull = true;
dt.Columns.Add(dc);
//建立字段3
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "url";
dc.AllowDBNull = true;
dt.Columns.Add(dc);
//设置主键
DataColumn[] newdc = new DataColumn[1];//可设置多个字段为主键
newdc[0] = dt.Columns["id"];
dt.PrimaryKey = newdc;
//---------------------添加记录----------------
//记录1
dr = dt.NewRow();
dr["sitename"] = "尚网";
dr["url"] = "http://www.jjshang.com/";
dt.Rows.Add(dr);
//记录2
dr = dt.NewRow();
dr["sitename"] = "木子屋";
dr["url"] = "http://www.mzwu.com/";
dt.Rows.Add(dr);
//记录3
dr = dt.NewRow();
dr["sitename"] = "网易";
dr["url"] = "http://www.126.com/";
dt.Rows.Add(dr);
//----把表添加到DataSet并绑定到DataList----
ds.Tables.Add(dt);
ds.Tables[0].TableName = "HomePage";
Session["ds"] = ds;
BindData();
}
}
private void BindData()
{
((DataSet)Session["ds"]).Tables["HomePage"].DefaultView.Sort = "id desc";
DataList1.DataSource = ((DataSet)Session["ds"]).Tables["HomePage"].DefaultView;
DataList1.DataBind();
}
protected void DataList1_Cancel(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
BindData();
}
protected void DataList1_Delete(object source, DataListCommandEventArgs e)
{
int id = (int)DataList1.DataKeys[e.Item.ItemIndex];
DataRow dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[GetRow(id)];
dr.Delete();
DataList1.EditItemIndex = -1;
BindData();
}
protected void DataList1_Edit(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
BindData();
}
protected void DataList1_Update(object source, DataListCommandEventArgs e)
{
string sitename = ((TextBox)e.Item.FindControl("TextBox1")).Text;
string url = ((TextBox)e.Item.FindControl("TextBox2")).Text;
int id = (int)DataList1.DataKeys[e.Item.ItemIndex];
DataRow dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[GetRow(id)];
dr["sitename"] = sitename;
dr["url"] = url;
DataList1.EditItemIndex = -1;
BindData();
}
private int GetRow(int id)
{
DataRow dr;
for (int i = 0; i < ((DataSet)Session["ds"]).Tables["HomePage"].Rows.Count; i++)
{
dr = ((DataSet)Session["ds"]).Tables["HomePage"].Rows[i];
if ((int)dr["id"] == id) return i;
}
return 0;
}
}