请教Repeater嵌套服务器控件linkbutton的删除事件

枕戈待旦勇往直前 2009-03-18 02:59:07
.aspx页面相应代码如下:
<asp:Repeater ID="ly" runat="server <ItemTemplate>">

<tr>
<td><table width="102%" border="0" cellspacing="0" cellpadding="5">
<tr class="news">
<td width="49%" colspan="3"><img height=10 src="../img/talk03.jpg" width=10>  <%#Db.GetFirstString(DataBinder.Eval(Container.DataItem, "contents").ToString(), 50)%></td>
<td width="10%"><%#DataBinder.Eval(Container.DataItem,"username")%></td>
<td width="13%"><%#Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"date")).ToShortDateString()%></td>
<td width="9%"> </td>
<td width="19%" bgcolor="#ffffcc">
<asp:LinkButton ID="delete" runat="server" CommandArgument ='<%#DataBinder.Eval(Container.DataItem, "id")%>' CommandName="Delete" OnClick="Delete_Click" OnClientClick="return confirm('真的要删除选中的项目吗?');">删除</asp:LinkButton></td>
</tr>
</table></td>
</tr>
</ItemTemplate>
</asp:Repeater>


.aspx.cs代码如下:
protected void ly_ItemCreated(object sender, RepeaterItemEventArgs e)
{
LinkButton lb = (LinkButton)e.Item.FindControl("delete");
if (lb != null) {

lb.Click += new EventHandler(Delete_Click); //关键在这里给LinkButton添加Click事件
}
}


protected void Delete_Click(object sender, EventArgs e)
{
//这下面的代码该怎么写?
}

在线等
...全文
383 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我已经解决了,是在QQ里面解决的。谢谢各位了……
linhl 2009-03-18
  • 打赏
  • 举报
回复
<asp:LinkButton ID="delete" OnClientClick="return confirm('真的要删除选中的项目吗?')" CommandArgument='<%#DataBinder.Eval(Container.DataItem, "id")%>' CommandName="Delete" runat="server">删除</asp:LinkButton>


protected void ly_ItemCommand(object source, RepeaterCommandEventArgs e)
{
string command = e.CommandName;
if (command != null && command != string.Empty && command == "Delete")
{
//删除操作
}
}
  • 打赏
  • 举报
回复
public DataTable DelInfo(int id)
{
DataTable dt = new DataTable();
SqlParameter[] Parameters = new SqlParameter[1];
Parameters[0] = new SqlParameter("@id", id);
dt = SqlHelper.ExecuteDataset(Db.MyStaticConn(), "del_info", Parameters).Tables[0];
return dt;
}

//protected void Delete_Click(object sender, EventArgs e)
protected void Delete_Click(object sender, CommandEventArgs e)
{
int id = Int32.Parse(e.CommandArgument.ToString());
DelInfo(id);
}
存储过程:del_info为:
CREATE PROCEDURE del_info
@id int
AS
BEGIN
delete from LeaveWords where id =@id
END
GO

现在报错:
CS0123: “Delete_Click”的重载均与委托“System.EventHandler”不匹配
就是指:lb.Click += new EventHandler(Delete_Click); //关键在这里给LinkButton添加Click事件
这一句有问题的
浮生若梦丶 2009-03-18
  • 打赏
  • 举报
回复
改用gridview吧,linkbutton的用法还是一样,删除事件写在gridview的删除事件里面。
或者你就在你的protected void Delete_Click(object sender, EventArgs e)
里面写删除操作代码

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧