0

我有这张表,我用它创建动态复选框(记录的数量可能/会有所不同),我的想法是我可以在任何表行上选择一个复选框并“发送”这些记录。

我想将一组 ID 发送到不同的页面进行处理 - 但我非常卡住!

这是我的表格/表格代码

<form action="processingpage.aspx" method="post">
  <asp:Repeater ID="GroupList" runat="server">
    <HeaderTemplate>
       <table id="grouptable" class="table"> 
         <thead>
            <tr>
              <th>Broadcast</th>
              <th>ID</th>
              <th>Name</th>
              <th>Last Modified</th>
              <th>Actions</th>
            </tr>
        </thead>
      <tbody>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
          <td>
            <input type="checkbox" name="BroadcastSelect[]" value="<%# Eval("Group_ID") %>"</input></td>
          <td><%# Eval("Group_ID") %></td>
          <td><%# Eval("DESC") %></td>
          <td><label id="test">hello</label></td>
          <td><a class="btn btn-info" href="<%# Eval("gURL") %>">Edit</a>/td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
         </tbody>
       </table>
    </FooterTemplate>
  </asp:Repeater>
  <input class="btn primary" type="submit" value="Broadcast"/>
</form>

我认为这可以发送数组,因为我设法通过 Request.in 看到了这个

BroadcastSelect[]TESTGROUP (这是我发送的项目之一)

但是在我的接收页面上,除了尝试过的空白文本外,我什么也没有

Label1.Text = Page.Request.Form["BroadcastSelect[0]"];

Label1.Text = Page.Request.QueryString["BroadcastSelect[0]"];

但不打印任何值。谁能指出我正确的方向?

4

1 回答 1

2

我认为问题在于无法索引<input name="BroadcastSelect[]">throughRequest.FormRequest.QueryString.

如果您在代码中设置断点,您将看到 Request.Form 对象将Request.Form["BroadcastSelect[]"]作为可用项之一,这将返回一个 CSV 值列表。

所以尝试使用它来代替......

string broadcastSelect = Request.Form["BroadcastSelect[]"];
if (broadcastSelect != null)
{
   string[] broadcastSelectParts = broadcastSelect.Split(',');
   Label1.Text = broadcastSelectParts[0];
}

显然,块中的代码也可以减少到一行,但是如果您想要第一项以外的内容,请检查您是否没有选择“越界”索引...

Label1.Text = broadcastSelect.Split(',')[0];
于 2012-07-31T10:00:32.310 回答