0

在 ASP.NET 中,在客户端,我使用了一种重复的方法来生成包含来自数据库的数据的表。对于每个条目,我都有一个 asp 按钮来删除每个条目。现在,当我需要传递时,我遇到了一个问题,对于每个按钮,它都是数据库中的 ID,并且因为它是<asp:button ... />,所以我无法使用 CommandArgument='<%=id %>' 运行服务器端代码行,所以我可以把它每个按钮的 ID。我能做些什么呢?

4

2 回答 2

1

使用绑定表达式。

<%# Id %>

并从代码隐藏调用Control.DataBind()或方法。DataBind()

于 2012-07-17T07:16:41.990 回答
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
...
}
于 2012-07-17T07:25:55.417 回答