ascx 中的按钮,通过查询循环,发送参数或唯一标识

Button in ascx , loop via query, send parameter or identify uniquely

在大多数网络语言中,这是一个简单的 3 行过程。

例如

php。

<?php foreach (x in y) {?>
  <td><a href="">my button #<?php echo ++i;?></a></td>
<? } ?>

不在ASP。显然我需要为月球任务编写人工智能程序来循环查询并输出一个唯一的按钮。对于讽刺,我深表歉意。

这是我的代码,它没有满足我的需要。我是不是错过了一个不需要一个小时来编写代码的简单选项?

<% using (SqlDataReader reader=Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader(Config.GetConnectionString(),CommandType.Text,"SELECT * FROM [dbo].[table] WHERE bHasBeenProcessed IS NULL")) { %>
                    <% while (reader.Read()) { %>

                        <tr>
                            <td><%=reader["Name"].ToString()%></td>
                            <td><%=reader["Email"].ToString()%></td>
                            <td><%=reader["datestamp"].ToString()%></td>
                            <td>
                                <asp:Button CommandName='<%#reader["id"].ToString()%>' id="cmdSave" text='Process It' OnClick="HandlerFunction" runat="server" cssclass="dnnPrimaryAction" />
                            </td>
                        </tr>

                <% }} %>

我觉得我首先必须使用 CommandName/Argument 很荒谬。 人们说 "you can't mix server side and client side code"。好吧,我不是,对吧? 该片段的全部内容是在服务器端生成的。 它查询数据库,遍历记录,并输出 table。效果很好。 但是 CommandName 拒绝处理我的变量。 所以我无法确定点击了哪一行。

我使用 URL 参数对 href 进行编码,然后通过 POST 以这种方式处理它。 荒谬的。问题已解决。

绝对欢迎任何有关如何快速执行此操作的建议,无论是正确的方法还是错误的方法。