2014-11-12 1 views
0

나는 온라인 설문을 만들려고 해요이 내 웹 사이트DataPager를 탐색 할 때 선택된 HTML5 라디오 버튼 값을 유지하는 방법은 무엇입니까?

<table> 
    <tbody> 

     <asp:ListView ID="lvQuestion" runat="server" OnPagePropertiesChanged="lvQuestion_OnPagePropertiesChanged" OnPagePropertiesChanging="lvQuestion_PagePropertiesChanging"> 
      <LayoutTemplate> 
      <ul> 
       <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> 
      </ul> 
      </LayoutTemplate> 
      <ItemTemplate> 
       <tr runat="server"> 
        <td><%# Eval("theQuestion") %></td> 
       </tr> 
       <tr> 
        <td><input type="radio" name="choice" value="<%# Eval("Choice1") %>" /><%# Eval("Choice1") %></td> 
        <td><input type="radio" name="choice" value="<%# Eval("Choice2") %>" /><%# Eval("Choice2") %></td> 
        <td><input type="radio" name="choice" value="<%# Eval("Choice3") %>" /><%# Eval("Choice3") %></td> 
        <td><input type="radio" name="choice" value="<%# Eval("Choice4") %>" /><%# Eval("Choice4") %></td> 
       </tr> 
      </ItemTemplate> 
      <EmptyDataTemplate> 
      No data 
      </EmptyDataTemplate> 
     </asp:ListView> 
    </tbody> 
</table> 


    <asp:DataPager ID="lvDataPager1" runat="server" PagedControlID="lvQuestion" PageSize="1"> 
     <Fields> 
      <asp:NumericPagerField ButtonType="Link" /> 
     </Fields> 
    </asp:DataPager> 

나는 성공적으로 (HTML5 라디오 버튼을 사용하여) 질문과 그 선택을 표시 한의 프런트 엔드입니다. 그러나 사용자가 질문 # 1에서 질문 # 2로 이동하면 질문 1에서 선택한 대답이 DataPager에 의해 손실됩니다. 하나의 제출 버튼을 사용하여 모든 답변을 수집하기 위해 선택한 답변을 저장해야했습니다.

+1

"세션"을 사용하는 ur 상태 –

+0

C#을 사용하여 HTML5 라디오 버튼의 선택된 값을 어떻게 설정합니까? –

+0

내가 게시 답변을 시도하십시오 –

답변

1

당신은 컨트롤에 id를 제공하여 runat='server'를 사용 할 수

코드에
<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh1" runat="server" /> 

<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh2" runat="server" /> 

<input type="radio" name="choice" value="<%# Eval("Choice1") %>" id="rdCh3" runat="server" /> 

당신은 당신이 어떤 것을 ItemDataBound에이 같은 ListView에 내부 라디오 버튼을 찾기가

string selvalues=rdCh1.Value.ToString(); 

하여이 값을 얻을 수 있습니다 뒤에

protected void ListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
    { 

     if (e.Item.ItemType == ListViewItemType.DataItem) 
     { 
System.Web.UI.HtmlControls.HtmlInputRadioButton = 
      (System.Web.UI.HtmlControls.HtmlInputRadioButton)e.Item.FindControl("rdCh1"); 



} 
+0

나는 이것을 시도했지만 "서버 태그가 잘 형성되지 않았습니다."라는 오류가 발생합니다. 또한 을 사용하면 ListView 내부에 들어갈 수 없습니다. –

+0

이것을 참조 할 수 있습니다. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemdatabound%28v=vs.110%29.aspx –

+0

답변은 거의 비슷하지만 의견을 내게 올바른 답으로 인도하십시오. ASP RadioButton은 로 작성할 수 있습니다. 보시다시피 Text 속성에 큰 따옴표 (") 대신 작은 따옴표 (')를 사용해야합니다. –

관련 문제