repeater删除功能
<td class="listbor01">
<%# Convert.ToString(Container.ItemIndex + 1) %>
</td>
上面是我页面写的自增列,也是repeater表的首列,我想实现删除,能不能用上面的自增id进行删除
<asp:LinkButton id="btnDelete" CommandName='<%#DataBinder.(Container, "ItemId") %>' OnCommand="btnDelete_Click" runat="server" >
我不知道这句是不是获取自增列的id呢———CommandName='<%#DataBinder.(Container, "ItemId") %>'
------解决方案-------------------- 这个不能用自增列的,你应该用该表的主键列来删除。
<asp:LinkButton id="btnDelete" CommandArgument='<%#Eval("ItemId") %>' OnCommand="btnDelete_Click" runat="server" >
public void btnDelete_Click(object sender,CommandEventArgs e)
{
string id = e.CommandArguments.ToString();
string strSQL="delete from 表名 where ItemID="+int.Parse(id);
//执行删除逻辑即可
}
------解决方案-------------------- C# code
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<ul>
<li>编号:<%#Eval("id")%></li>
<li>姓名:<%#Eval("uname")%></li>
<li>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument='<%#Eval("id")%>' onclick="LinkButton2_Click">删除</asp:LinkButton></li>
</ul>
</ItemTemplate>
</asp:Repeater>
------解决方案-------------------- 探讨 引用: 删除的话你得用表的主键,你可以把表的主键放到该记录的一个隐藏控件中,然后删除时取出该值即可实现删除 我就是不想用表的主键,因为那样页面会不好看,这个隐藏控件是什么,应该怎么用
------解决方案-------------------- <asp:HiddenField id="HF" runat="server" value=<%#Eval("SID")%>></asp:HiddenField> 你为什么不直接把id绑定在CommandArgument上面呢?