Default.aspx<asp:DataList ID="DataList1" runat="server" DataKeyField="id" Width="100%">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" >
<tr class="titletd">
<td>
选择
</td>
<td>
编号</td>
<td>
类别名称</td>
<td>
添加时间</td>
<td>
操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="list1">
<td>
<asp:CheckBox ID="ck" runat="server" /></td>
<td>
<%#Eval("id")%>
</td>
<td>
<%#Eval("cname")%>
</td>
<td>
<%#Eval("addtime", "{0:yyyy-MM-dd}")%>
</td>
<td>
<a href='?id=<%#Eval("id") %>&dos=edit'>编辑</a> | <a href='?id=<%#Eval("id") %>&dos=del'>删除</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
s_product_class spc=new s_product_class();
this.DataList1.DataSource = spc.select_proclass();
this.DataList1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{ for (int i = 0; i < this.DataList1.Items.Count; i++)
{
CheckBox chk = (CheckBox)this.DataList1.Items[i].FindControl("ck");
if (chk != null && chk.Checked)
{
//删除代码
//我用了一个LinkButton 用CommandArgument来绑定的要删除的数据的主键(ID)
int id = Convert.ToInt32(this.DataList1.DataKeys[i].ToString());
s_product_class spc = new s_product_class();
spc.del_proclass(id);
}
} Response.Write("<script language='javascript'>window.location.href='Default.aspx'</script>");
}当运行以上代码时,点击Button1两次才能删除,不知道怎么回事。
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" >
<tr class="titletd">
<td>
选择
</td>
<td>
编号</td>
<td>
类别名称</td>
<td>
添加时间</td>
<td>
操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="list1">
<td>
<asp:CheckBox ID="ck" runat="server" /></td>
<td>
<%#Eval("id")%>
</td>
<td>
<%#Eval("cname")%>
</td>
<td>
<%#Eval("addtime", "{0:yyyy-MM-dd}")%>
</td>
<td>
<a href='?id=<%#Eval("id") %>&dos=edit'>编辑</a> | <a href='?id=<%#Eval("id") %>&dos=del'>删除</a></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
s_product_class spc=new s_product_class();
this.DataList1.DataSource = spc.select_proclass();
this.DataList1.DataBind();
}
}
protected void Button1_Click(object sender, EventArgs e)
{ for (int i = 0; i < this.DataList1.Items.Count; i++)
{
CheckBox chk = (CheckBox)this.DataList1.Items[i].FindControl("ck");
if (chk != null && chk.Checked)
{
//删除代码
//我用了一个LinkButton 用CommandArgument来绑定的要删除的数据的主键(ID)
int id = Convert.ToInt32(this.DataList1.DataKeys[i].ToString());
s_product_class spc = new s_product_class();
spc.del_proclass(id);
}
} Response.Write("<script language='javascript'>window.location.href='Default.aspx'</script>");
}当运行以上代码时,点击Button1两次才能删除,不知道怎么回事。
BindData();
重新绑定
s_product_class spc=new s_product_class();
this.DataList1.DataSource = spc.select_proclass();
this.DataList1.DataBind();写成一个函数,在spc.del_proclass(id);之后再重新执行一个函数。
原因:实际上在数据库中已经删除了记录,只是页面没有刷新到看不到结果
。快来人啊。
这样容易出问题。 用where in(xx,xx,xx,xx,)一起删除掉就 没事了...