关于在repeater控件中使用button控件
做了一整天了,实在是不知道怎么办了,各位大侠帮帮忙~~~~我想在repeater控件中绑定button控件,实现删除功能
这是前台页面的:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Adminbooklist.ascx.cs" Inherits="Adminbooklist" %>
<asp:Repeater id = "admin" runat ="server" onitemcommand="admin_ItemCommand" >
<HeaderTemplate>
<table>
<tr><td>分类</td><td>书名</td><td>作者</td><td >简述</td><td>图片</td><td>链接</td></tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("Cat")%></td>
<td><%#Eval("B_name")%></td>
<td><%#Eval("B_author")%></td>
<td><%#Eval("B_description")%></td>
<td><asp:Image ID="image" runat="server" ImageUrl='<%#Eval("B_pic")%>'/></td>
<td><a href='<%# string.Format("{0}", Eval("Src")) %>'>书本链接</a></td>
<td> <asp:LinkButton ID="LinkButton1" runat="server" CommandName='<%#Eval("id") %>' OnCommand ="BtnDel_Click" >删除</asp:LinkButton></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
这是后台页的:
protected void BtnDel_Click(object sender, CommandEventArgs e)
{
int cid;
BLL.book b = new BLL.book();
if (Request.QueryString["cid"] == null)
cid = 0;
else
cid = Convert.ToInt32(Request.QueryString["cid"]);
admin.DataSource = b.GetList(cid);
admin.DataBind();
int ID = Convert .ToInt32 ( Request.QueryString["id"]);
b.DelNode(ID);
}
三层架构,其中BLL中的delNode是个删除函数,传入ID就可以了,函数测试过了没有问题,这整个页面运行也不会显示错误,只是按了删除之后没有任何反应,单步调试似乎也没什么问题,只是每次运行到红色那一句时ID值仍为0……各位帮帮忙,我都搞了一整天了还是没弄明白哪里错了………………