2014-11-12 6 views
0

Я пытаюсь создать онлайн-анкету, и это передний конец моего сайтаКак сохранить выбранное значение переключателя HTML5 при навигации по DataPager?

<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, используя 'Sessions' –

+0

Как установить выбранное значение переключателей HTML5 с помощью C#? –

+0

Я отправил ответ попробовать, что –

ответ

1

Вы можете использовать runat='server' с обеспечением id для управления

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

на Кодексе За Вы можете получить эти значения

string selvalues=rdCh1.Value.ToString(); 

Вы должны найти радио кнопки внутри ListView Некоторые, что, как это на ItemDataBound

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

Смежные вопросы