ASP.NET - 以编程方式生成删除按钮
问题描述:
我试图创建一个简单的按钮,从数据库中删除一行。我想控制的ID设置为类似delete_MATERIALID_button
然而,当我这样做:ASP.NET - 以编程方式生成删除按钮
<asp:Button ID='delete_<%# Eval("MatID") %>_button' runat="server" Text="Delete" />
我得到这个名字不能这样会产生一个错误。
我知道必须有一个简单的解决方案,我只是无法弄清楚。
答
按钮将不得不被命名为像这样:
<asp:Button ID='<%# Eval("MatID", "delete_{0}_button") %>' runat="server" Text="Delete" />
但是,正如Shuwaiee说,使用CommandArgument可能是一个更好的为id的地方。
CommandArgument='<%# Eval("MatID")%>'
答
你不能像这样做,U需要指定一个固定的ID存在,并命令名称(如删除)和u可以通过在命令参数该ID ...和按需事件你将获得这两个值,命令名称和命令参数...
niitn DHIMAN
答
您也可以在转发的OnItemDataBound事件中添加命令参数值。在这种情况下,您可以访问数据项,因此可以非常轻松地从数据项对象中获取ID,找到当前绑定行的当前删除按钮,并将命令参数应用于该控件。
例如:
protected void rptrExample_OnItemDataBound(object Sender, RepeaterItemEventArgs Args)
{
if (Args.Item.ItemType == ListItemType.Item || Args.Item.ItemType == ListItemType.AlternatingItem)
{
SomeBusinessObj Obj = (SomeBusinessObj)Args.Item.DataItem;
Button btnDelete = (Button)Args.Item.FindControl("btnDelete");
btnDelete.CommandArgument = Obj.ID;
}
}
那个按钮是一个GridView或类似的任何控制内? – 2010-04-17 18:52:01
它在一个中继器内。 – WedTM 2010-04-17 18:57:13