Я разрабатываю ASP.Net MVC
сайт, и на нем я перечисляю некоторые бронирования из запроса к базе данных в таблице с возможностью ActionLink
отмены бронирования в определенной строке с определенным BookingId
следующим образом:
Мои бронирования
<table cellspacing="3">
<thead>
<tr style="font-weight: bold;">
<td>Date</td>
<td>Time</td>
<td>Seats</td>
<td></td>
<td></td>
</tr>
</thead>
<tr>
<td style="width: 120px;">2008-12-27</td>
<td style="width: 120px;">13:00 - 14:00</td>
<td style="width: 100px;">2</td>
<td style="width: 60px;"><a href="/Booking.aspx/Cancel/15">cancel</a></td>
<td style="width: 80px;"><a href="/Booking.aspx/Change/15">change</a></td>
</tr>
<tr>
<td style="width: 120px;">2008-12-27</td>
<td style="width: 120px;">15:00 - 16:00</td>
<td style="width: 100px;">3</td>
<td style="width: 60px;"><a href="/Booking.aspx/Cancel/10">cancel</a></td>
<td style="width: 80px;"><a href="/Booking.aspx/Change/10">change</a></td>
</tr>
</table>
Было бы неплохо, если бы я мог использовать jQuery Dialog
для отображения всплывающего сообщения с вопросом, уверен ли пользователь, что хочет отменить бронирование. Я пытался заставить это работать, но я все время зацикливаюсь на том, как создать функцию jQuery, которая принимает параметры, чтобы я мог заменить
<a href="https://stackoverflow.com/Booking.aspx/Cancel/10">cancel</a>
с участием
<a href="#" onclick="ShowDialog(10)">cancel</a>
.
Затем ShowDialog
функция откроет диалоговое окно, а также передаст в диалоговое окно параметр 10, так что, если пользователь щелкнет Да, он отправит href:/Booking.aspx/Change/10
Я создал диалог jQuery в таком сценарии:
$(function() {
$("#dialog").dialog({
autoOpen: false,
buttons: {
"Yes": function() {
alert("a Post to :/Booking.aspx/Cancel/10 would be so nice here instead of the alert");},
"No": function() {$(this).dialog("close");}
},
modal: true,
overlay: {
opacity: 0.5,
background: "black"
}
});
});
и сам диалог:
<div id="dialog" title="Cancel booking">Are you sure you want to cancel your booking?</div>
Итак, наконец, мой вопрос: как я могу этого добиться? или есть лучший способ сделать это?