Как создать RadioButtonList, где каждый переключатель находится в отдельной строке таблицы?

Я создаю интерфейс вопросов и ответов MCQ, в котором мне нужно поместить каждую опцию радио в отдельную строку рядом с ответом, чтобы пользователь мог выбрать ответ, я знаю, что обычно использую список радиокнопок в одной строке,

 <asp:RadioButtonList ID="opt_questiontype" runat="server" RepeatLayout="Flow" OnClick="call()">
                        <asp:ListItem Value="MCQ" Selected="True">MCQ</asp:ListItem>
                        <asp:ListItem Value="Single">Single Answer</asp:ListItem>
                    </asp:RadioButtonList>

но здесь мне нужно разместить их построчно в таблице html следующим образом:

<table id="mcqtable">
        <tr style="border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:#CCCCCC;">
            <th class="captions2">Option</th><th class="captions2">Answer Text</th><th class="captions2">Is Correct</th>
        </tr>
         <tr>
                <td class="captions1">Answer Option 1</td><td><asp:TextBox ID="txt_answeropt1" runat="server" TextMode="SingleLine" Width="600px"></asp:TextBox></td><td><asp:RadioButton ID="opt_answer1" runat="server" GroupName="grp_answers" Checked="true" /></td>
            </tr>
            <tr>
                <td class="captions1">Answer Option 2</td><td><asp:TextBox ID="txt_answeropt2" runat="server" TextMode="SingleLine" Width="600px"></asp:TextBox></td><td><asp:RadioButton ID="opt_answer2" runat="server" GroupName="grp_answers" /></td>
            </tr>
            <tr>
                <td class="captions1">Answer Option 3</td><td><asp:TextBox ID="txt_answeropt3" runat="server" TextMode="SingleLine" Width="600px"></asp:TextBox></td><td><asp:RadioButton ID="opt_answer3" runat="server" GroupName="grp_answers" /></td>
            </tr>
            <tr>
                <td class="captions1">Answer Option 4</td><td><asp:TextBox ID="txt_answeropt4" runat="server" TextMode="SingleLine" Width="600px"></asp:TextBox></td><td><asp:RadioButton ID="opt_answer4" runat="server" GroupName="grp_answers" /></td>
            </tr>

        </table>

Здесь я использовал обычные радиокнопки, но возникает конфликт при получении выбранного значения. Пожалуйста, кто-нибудь может предложить способ использования asp:RadioButtonList для выполнения этой задачи?


person Dilukshan Mahendra    schedule 10.09.2013    source источник


Ответы (3)


здесь я использовал обычные радиокнопки, но возникает конфликт при получении выбранного значения

Что такое конфликт? почему вы хотите использовать здесь RAdioButtonList? Ваш существующий код не показывает мне никакого конфликта.

person ali zubair    schedule 10.09.2013
comment
Из какого атрибута я буду вызывать выбранное значение? не может позвонить из GroupName правильно? также каждое радио имеет отдельный идентификатор. - person Dilukshan Mahendra; 10.09.2013
comment
Поправьте меня, если я ошибаюсь. Вы хотите запускать событие всякий раз, когда пользователь выбирает радиокнопку против вопроса? - person ali zubair; 10.09.2013
comment
Событие не будет срабатывать при выборе, но выбранное значение параметра должно быть опубликовано, когда я нажимаю кнопку, поэтому я могу использовать значение из кода позади, событие будет срабатывать при нажатии кнопки - person Dilukshan Mahendra; 10.09.2013
comment
Вы можете сделать это, назначив разные имена групп для каждой радиокнопки. В настоящее время у вас назначено то же имя группы. И если вы хотите использовать список RadioButton, используйте как:::::: ‹asp:RadioButtonList ID=RadioButtonList1 runat=server RepeatLayout=Flow RepeatDirection=Horizontal › ‹asp:ListItem Value=a›‹/asp:ListItem› ‹ asp:ListItem Value=b›‹/asp:ListItem› ‹/asp:RadioButtonList› ........... Теперь, когда вы нажимаете кнопку u, вы можете получить доступ к каждому значению. - person ali zubair; 10.09.2013

Либо используйте повторитель, либо вы можете использовать css для создания одной строки для каждого переключателя.

В повторителе вы можете управлять HTML в соответствии с вашими требованиями.

person Ronak Patel    schedule 10.09.2013

Вы должны установить RepeatDirection="Vertical" в порядок отображения параметров построчно.

Пожалуйста, обратитесь к моему ответу @CodeProject - Изменить свойство повторения списка радиокнопок ASP с помощью Javascript или JQuery для более подробная информация о том, как мы можем переключаться между вертикальным и горизонтальным выравниванием.

Демонстрация - [Демо] Изменение направления повтора для asp RadioButtonList

ИЗМЕНИТЬ

Делай как ниже...

<asp:RadioButtonList ID="opt_questiontype" runat="server" RepeatLayout="Flow" RepeatDirection="Vertical" OnClick="call()">
person Tadit Dash    schedule 10.09.2013
comment
Вы использовали html-переключатели, верно? В моем случае мне нужен asp: RadioButtonList, пожалуйста, скажите мне, как я могу применить его в приведенном выше случае. - person Dilukshan Mahendra; 10.09.2013
comment
На самом деле в этой ссылке ответа я только что сослался на отрендеренный html для asp RadiobuttonList, а не на html RadioButtons.... Я просто хочу сказать, что делайте, как показано ниже... <asp:RadioButtonList ID="opt_questiontype" runat="server" RepeatLayout="Flow" RepeatDirection="Vertical" OnClick="call()"> - person Tadit Dash; 10.09.2013