2012-07-31 3 views
0

동적 테이블을 생성하는이 테이블을 가지고 있습니다 (레코드의 수는 다양 할 수 있습니다). 아이디어는 어떤 테이블 행에서도 확인란을 선택할 수 있고 그 레코드를 "보내기"합니다. .HTTP POST를 통해 테이블 ​​체크 박스 값 배열 보내기

ID 배열을 처리하기 위해 다른 페이지에 보내고 싶습니다. 그러나 저는 매우 붙어 있습니다! 여기

내가 Request.in를 통해이를보고 관리로이 배열 확인을 전송하는 생각 내 테이블/폼 코드

<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> 

입니다

BroadcastSelect[]TESTGROUP (I 전송 항목 중 하나입니다)

하지만 내 수신 페이지에 내가

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

을 시도했습니다 아무것도하지만, 빈 텍스트를 받고 없습니다 해요

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

그러나 값은 인쇄되지 않습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

+0

''의 형식이 올바르지 않아 올바르게 닫히지 않습니다. – freefaller

+0

하지만이 차이를 발견 했는데도 아무런 차이가 없으면 어떤 차이가 있는지 알 수는 없습니다. ( – JazziJeff

답변

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]; 
+0

: 오는 것 같습니다 :) 게시물에 얼마나 많은 항목이 있는지 확인할 수있는 방법이 있습니까? 그런데 도움에 감사드립니다! – JazziJeff

+0

'broadcastSelectParts.Length'? 빈 스트링 스플릿이 하나의 아이템을 생성 할 것이므로 유효한 스트링이 나뉘어있는 경우에만 작동합니다. ** 편집 ** 그러나,'Split' – freefaller

+0

@JazziJeff에서 사용할 수있는'StringSplitOptions.RemoveEmptyEntries' 옵션이 있습니다, 아니면'Request.Form' 전체에서 총 게시물 수를 말하는 겁니까? 당신이 _EVENTTARGET 유형의 항목뿐만 아니라 위의 입력과 같은 색인 된 항목도 고려해야하므로 더 까다 롭습니다. – freefaller