Я пытаюсь получить идентификатор кнопок радиосвязи 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>
значение, которое выбрало строку?
Я бы предложил использовать 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
на странице.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");
}
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//write your code here.... for radiobutton select
}
document.getElementById('hdn_ID').value=$intFlight_ID
с атрибутом данных, который скрытый элемент hdn_ID asp. У меня пока работает;)