最佳答案
我正在开发一个 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="/Booking.aspx/Cancel/10">cancel</a>
和
<a href="#" onclick="ShowDialog(10)">cancel</a>
.
然后,ShowDialog
函数将打开该对话框,并将参数10传递给该对话框,这样,如果用户单击 yes,它将发布 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>
所以最后我的问题是: 我怎样才能做到这一点? 或者有没有更好的方法来做到这一点?