Ich entwickle eine ASP.Net MVCSite und liste darauf einige Buchungen aus einer Datenbankabfrage in einer Tabelle mit einem ActionLinkauf, um die Buchung in einer bestimmten Zeile mit einem bestimmten BookingIdwie folgt zu stornieren :
Meine Buchungen
<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>
Was wäre schön, wenn ich das verwenden könnte, um jQuery Dialogeine Nachricht zu öffnen, in der gefragt wird, ob der Benutzer sicher ist, dass er die Buchung stornieren möchte. Ich habe versucht, dies zum Laufen zu bringen, aber ich bin immer wieder dabei, eine jQuery-Funktion zu erstellen, die Parameter akzeptiert, damit ich die ersetzen kann
<a href="https://stackoverflow.com/Booking.aspx/Cancel/10">cancel</a>
mit
<a href="#" onclick="ShowDialog(10)">cancel</a>.
Die ShowDialogFunktion würde dann den Dialog öffnen und auch den Parameter 10 an den Dialog übergeben, so dass, wenn der Benutzer auf Ja klickt, die href:/Booking.aspx/Change/10
Ich habe den jQuery-Dialog in einem Skript wie dem folgenden erstellt:
$(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"
}
});
});
und der Dialog selbst:
<div id="dialog" title="Cancel booking">Are you sure you want to cancel your booking?</div>
Also endlich zu meiner Frage: Wie kann ich das erreichen? oder gibt es einen besseren weg dazu?