引用内容

SqlCommand cmd = new SqlCommand();
SqlDataAdapter da;
DataTable dt=new DataTable();
string SQL = @"Select * FROM [Data] orDER BY id DESC";
cmd.Connection = conn;
cmd.CommandText=SQL;
da = new SqlDataAdapter(cmd);
da.Fill(dt);
da.Dispose();
cmd.Dispose();
//this.Dispose();
DataRepeater.DataSource = dt;
DataRepeater.DataBind();
protected void Repeater_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
...{
//Response.Write("该函数被调用。"); //这儿去掉注释可以测试代码执行的次数
RepeaterItem item = e.Item;
DataTable dt = (DataTable)DataRepeater.DataSource;
string _UserName;
bool _IsDel;
try
...{
_UserName=Session["UserName"].ToString();
_IsDel = Convert.ToBoolean(Session["IsDel"]);
}
catch
...{
_UserName=string.Empty;
_IsDel=false;
}
if ((item.ItemType == ListItemType.Item) || (item.ItemType == ListItemType.AlternatingItem))
...{
if (_UserName==dt.Rows[item.ItemIndex]["PostUser"].ToString()) //item.ItemIndex得到Item的序列
...{
if (_IsDel==true)
...{
((HyperLink)item.FindControl("Delete")).NavigateUrl = string.Format("del.aspx?id={0}", dt.Rows[item.ItemIndex]["id"]);
}
}
}
}
<asp:Repeater ID="DataRepeater" runat="server" OnItemDataBound="Repeater_ItemDataBound">
<HeaderTemplate>
<table width="80%" align="center">
<tr>
<td width="15%">ID</td>
<td width="35%">Title</td>
<td width="40%">Content</td>
<td width="10%">Operation</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%...#Eval("id") %></td>
<td><%...#Eval("Title") %></td>
<td><%...#Eval("Content") %></td>
<td><asp:HyperLink ID="Delete" runat="server">Delete</asp:HyperLink></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

点击下载此文件