我有这个表,我用它来创建动态复选框(记录的数量可能/会有所不同)的想法是我可以在任何表格行上选择一个复选框并“发送”这些记录。
我想将一个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]"];
但不打印任何值。有人能指出我正确的方向吗?
答案 0 :(得分:2)
我认为问题在于无法将<input name="BroadcastSelect[]">
索引到Request.Form
或Request.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];