@Erik hat mich auf den richtigen Weg gebracht. Seine Lösung funktioniert, behält aber die bestehende pseudomodale Popup-Bestätigungs-Benutzeroberfläche bei, die ich vermeiden wollte.
Es nutzt auch nicht die Dienste, die die JqGrid ASP.NET component bietet. Die Komponente kümmert sich tatsächlich um alle CRUD-Operationen, solange sie an eine ordnungsgemäß konfigurierte Datenquelle (ObjectDataSource, SqlDataSource usw.) angeschlossen ist.
Dieses fehlende Stück für mich war die Mechanik hinter den CRUD-Operationen der Komponente. Durch Stochern mit Fiddler ich in der Lage war zu sehen, dass er die entsprechenden Daten auf die gleiche Seite, mit der ClientID des JqGrid Objekts im Abfragezeichenfolgeflag Beiträge:
MyPage.aspx?jqGridID=ctl00_ctl00_Content_Content_MyJqGrid
Zum Löschen des Inhalt des POST ist als @ Erik beschreibt:
oper=del&id=18
so habe ich in der Lage gewesen, den Betrieb auf eigene Faust zu duplizieren, so dass ich die vollständige Kontrolle über den gesamten Prozess behalten:
$(".DeleteButton", grid).click(function(e) {
var rowID = getRowID(this);
$(grid).setSelection(rowID, false);
if (confirm('Are you sure you want to delete this row?')) {
var url = window.location + '?jqGridID=' + grid[0].id;
var data = { oper: 'del', id: rowID };
$.post(url, data, function(data, textStatus, XMLHttpRequest) {
$(grid).trigger("reloadGrid");
});
} else {
$(grid).resetSelection();
} // if
}); // click
getRowID = function(el) {
return $(el).parents("tr").attr("id");
};
@Erik - Danke für mich in der richtigen Richtung. Die ASP.NET-Komponente führt das Löschen für Sie tatsächlich aus, wenn Sie es an eine ordnungsgemäß konfigurierte SqlDataSource angeschlossen haben (es kümmert sich auch um Aktualisierung, Einfügung und Auswahl). –