引用 5 楼 lookbug 的回复:
首先在repeater中要删除的行创建,commandname="AnyString"和CommandArgument=<%#Eval("Id")%>
然后在repeater的ItemCommand事件中:(我用的是ListView和repeater的ItemCommand事件用法一样)
比如:
protected void ListView1_ItemCommand(object se……
正解!
首先在repeater中要删除的行创建,commandname="AnyString"和CommandArgument=<%#Eval("Id")%>
然后在repeater的ItemCommand事件中:(我用的是ListView和repeater的ItemCommand事件用法一样)
比如:
protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int id = Convert.ToInt32(e.CommandArgument);
NewsService.DeleteNewsById(id);
}
}
HTML code
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr class="bgcolor_zblue">
<td width="17%" align="center">订单号</td>
<td width="13%" align="center">下单时间</td>
<td width="4%" align="center">全选<br><input type="checkbox" name="selall" onclick='selectAll(this.form)'/></td>
</tr>
<tr><td align="center" colspan="19"><asp:Label ID="lab_info" runat="server"></asp:Label></td></tr>
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<tr onmouseover="this.bgColor='<%=Tools.OVER_COLOR%>'" bgcolor="<%=Tools.OUT_COLOR%>" onmouseout="this.bgColor='<%=Tools.OUT_COLOR%>'">
<td height="26" align="center"><a href="orderInfo.aspx?ordid=<%# Eval("OrdID") %>" target="_blank"><%# Eval("OrdID") %></a></td>
<td align="center"><%# Tools.ConvertDateTime(Eval("atime").ToString(),2) %></td>
<td align="center"><asp:HiddenField ID="selid" runat="server" Value='<%# Eval("id") %>' /><asp:CheckBox ID="id" runat="server" /></td>
</tr>
</ItemTemplate>
</asp:Repeater>
<tr>
<td colspan="19" align="right" class="bgcolor_qblue"><asp:Button ID="btn_del" runat="server" Text="删除" onclick="btn_del_Click"/> </td>
</tr>
<tr class="bgcolor_zblue">
<td height="23" colspan="19" align="right"><asp:Label ID="lab_page" runat="server"></asp:Label></td>
</tr>
</table>
protected void btn_del_Click(object sender, EventArgs e)
{
string selid = Tools.GetRepeaterSelID(rpt, "id", "selid");
if (selid != "")
{
DBConn myConn = new DBConn();
myConn.ExecSQL("delete from insure_order where id in(" + selid + ")");
Response.Redirect(Request.Url.ToString());
}
}
public static string GetRepeaterSelID(Repeater rpt, string checkBoxID, string hiddenFieldID)
{
string selid = "";
foreach (RepeaterItem Item in rpt.Items)
{
CheckBox cb = (CheckBox)Item.FindControl(checkBoxID);
if (cb.Checked)
{
HiddenField hf = (HiddenField)Item.FindControl(hiddenFieldID);
if (selid == "")
selid = hf.Value;
else
selid += "," + hf.Value;
}
}
return selid;
}
你的代码看看啊 帖一下
repeater??是什么东西?
利用问号传值,在后台写出要删除的?ID=""
要说具体~~