在ASP.NET中,在客户端,我使用重复方法生成包含数据库数据的表。对于每个条目,我有一个asp按钮来删除每个条目。现在,当我需要传递时,我有一个问题,对于每个按钮它来自数据库的ID,并且因为它是<asp:button ... />
,我无法使用CommandArgument ='&lt;%= id%&gt运行服务器端代码行;”所以我可以把它的ID放到每个按钮上。我该怎么办呢?
答案 0 :(得分:1)
使用绑定表达式。
<%# Id %>
并从代码隐藏中调用Control.DataBind()
或DataBind()
方法。
答案 1 :(得分:1)
如果您有转发器,可以这样使用:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<div class="box">
<%# Eval("name") %>
<asp:Button ID="btnDelete" Runat="server" Text="Delete" CommandName="delete" CommandArgument='<%# Eval("Id") %>'></asp:Button>
</div>
</ItemTemplate>
</asp:Repeater>
--- C#------
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
...
((System.Web.UI.WebControls.Button)(e.CommandSource)).CommandArgument - is the id of current row
...
}