当前位置: 代码迷 >> ASP.NET >> repeater删除功能,该怎么处理
  详细解决方案

repeater删除功能,该怎么处理

热度:8753   发布时间:2013-02-25 00:00:00.0
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上面呢?
  相关解决方案