@Erik postawił mnie na właściwej ścieżce. Jego rozwiązanie działa, ale zachowuje istniejący pseudomodalny komunikat potwierdzający wyskakujące okienko, którego chciałem uniknąć.
Nie obejmuje również usług świadczonych przez JqGrid ASP.NET component. Komponent faktycznie obsługuje wszystkie operacje CRUD, o ile jest podłączony do poprawnie skonfigurowanego źródła danych (ObjectDataSource, SqlDataSource, itp.).
Ten brakujący element był dla mnie mechanikiem odpowiedzialnym za operacje CRUD komponentu. Przez wywiercenie z Skrzypek byłem w stanie zobaczyć, że posty odpowiednie dane do tej samej strony, z ClientID obiektu jqGrid w ciągu kwerendy:
MyPage.aspx?jqGridID=ctl00_ctl00_Content_Content_MyJqGrid
usuwania, zawartość POST są @ Erik opisuje:
oper=del&id=18
więc byłem w stanie powielać pracę na własną rękę, tak że zachowują pełną kontrolę nad całym procesem:
$(".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 - Dzięki za naprowadzenie mnie we właściwym kierunku. Komponent ASP.NET faktycznie wykonuje usuwanie dla ciebie, jeśli masz go podpięty do poprawnie skonfigurowanego SqlDataSource (to również dba o aktualizację, wstawianie i wybieranie). –