如何在<asp:button ... =“”>标签内运行服务器端代码?</asp:button>

时间:2012-07-17 07:13:12

标签: c# asp.net parameters

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

2 个答案:

答案 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
...
}