проверил html идентификатор кнопки радио от повторителя asp.net

0

Я пытаюсь получить идентификатор кнопок радиосвязи html и еще одно значение, которое в репитере asp - это мой код:

<asp:Repeater runat="server" ID="rpt_Departure_Schedule">
    <ItemTemplate>
        <tr class="schedules  <%#disable_Class (Eval("Seat_Count")) %>" data-schedule="Departure" data-route_class_id="<%#Eval("Flight_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="<%#Eval("Seat_Count") %>">
                    <input id="<%#Eval("Schedule_Number") %>" type="radio" name="radDepartureRoute_Class_ID" value="<%#Eval("Schedule_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" /></span>
            </td>
            <td class="schedule "><%#Eval("Schedule_Number") %></td>
            <td class="date "><%#Eval("Date") %></td>
            <td class="departure-time "><%#Eval("Time") %></td>
            <td class="departure-location "><%#Eval("Departure_Code") %></td>
            <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

Как я могу найти выбранный идентификатор переключателя и <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td> значение, которое выбрало строку?

Теги:
radio-button
repeater

3 ответа

1

Я бы предложил использовать JQuery для достижения такой же функциональности с хорошей производительностью.

Вызовите метод Javascript, когда нажата кнопка "Радио", как указано ниже:

<asp:Repeater runat="server" ID="rpt_Departure_Schedule">
    <ItemTemplate>
        <tr class="schedules  <%#disable_Class (Eval("Seat_Count")) %>" data-schedule="Departure" data-route_class_id="<%#Eval("Flight_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="<%#Eval("Seat_Count") %>">
                    <input id='<%#Eval("Schedule_Number") %>' type="radio" name="radDepartureRoute_Class_ID" value="<%#Eval("Schedule_ID") %><%#Eval("Ticket_Price_Name_Sub_ID") %>" onclick="GetValues(this)" /></span>
            </td>
            <td class="schedule "><%#Eval("Schedule_Number") %></td>
            <td class="date "><%#Eval("Date") %></td>
            <td class="departure-time "><%#Eval("Time") %></td>
            <td class="departure-location "><%#Eval("Departure_Code") %></td>
            <td class="schedule-class "><%#Eval("Ticket_Price_Name_Sub_ID") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>

и получить и установить значения в javascript, как указано ниже:

  function GetValues(control) {
            var Schedule_Number = control.value;
            var subject_Id = $(control).closest('tr').children('td')[5].innerText;
        }

Теперь вы можете использовать Schedule_Number и subject_Id

  • 0
    для tr есть событие click, и я добавил document.getElementById('hdn_ID').value=$intFlight_ID с атрибутом данных, который скрытый элемент hdn_ID asp. У меня пока работает;)
  • 0
    да. Вы можете сделать так же. :)
0

на странице.aspx: используйте управление asp: radioButton Html.

<asp:Repeater runat="server" ID="rpt_Departure_Schedule" OnItemDataBound="rpt_Departure_Schedule_ItemDataBound">
    <HeaderTemplate>
        <table>
    </HeaderTemplate>
    <ItemTemplate>
        <tr class="schedules" data-schedule="Departure" data-route_class_id="" data-section="Schedule">
            <td class="schedules-selection ui-tablecolumn-global-schedules">
                <span class="uroute_class_id radio ui-sprite-global" data-schedule="Departure" data-active="">
                    **<asp:RadioButton ID="radDepartureRoute_Class_ID" runat="server" />**
                </span>
            </td>
            <td class="schedule "></td>
            <td class="date "></td>
            <td class="departure-time "></td>
            <td class="departure-location "></td>
            <td class="schedule-class "></td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

В коде позади:

    protected void rpt_Departure_Schedule_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
            var myCheckbox = (RadioButton)e.Item.FindControl("radDepartureRoute_Class_ID");

        } 
    }
  • 0
    Я не был в состоянии использовать Asp RadioButton. Я сделал это таким образом на данный момент stackoverflow.com/questions/20326472/…
0
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    //write your code here.... for radiobutton select

}
  • 0
    В том-то и дело, как я могу добраться до html-переключателя от codebhind, особенно в репитере asp? Какой код я должен написать там?
  • 0
    вместо html-радио возьмите asp radio и добавьте runat = server; в этом.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню