在ASP.NET中,Datagrid是一個(gè)很強(qiáng)大的控件,它可以輕松地綁定數(shù)據(jù)源并顯示數(shù)據(jù)。而其中一個(gè)使用場(chǎng)景就是當(dāng)需要將Datagrid中的數(shù)據(jù)發(fā)送到服務(wù)器時(shí),可以使用Post Json的方式來實(shí)現(xiàn)。
實(shí)現(xiàn)這個(gè)功能,需要先設(shè)置Datagrid的屬性“SelectedIndex”為-1,然后使用JavaScript獲取Datagrid中的數(shù)據(jù),并將其轉(zhuǎn)換為Json格式。接著,使用Ajax的Post方法將Json數(shù)據(jù)發(fā)送到服務(wù)器端。
function postData() { var selectedRows = []; var gridData = $("#datagrid").data("kendoGrid").dataSource.view(); $.each(gridData, function (index, value) { if (value.selected) { selectedRows.push(value); } }); var jsonData = JSON.stringify(selectedRows); $.ajax({ url: "YourURL", type: "POST", data: jsonData, contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) {}, error: function (xhr, textStatus, errorThrown) {}, async: true }); }
在上面的代碼中,首先獲取了Datagrid中所有被選中的數(shù)據(jù),并將其轉(zhuǎn)換為Json格式。然后使用Ajax的Post方法將Json數(shù)據(jù)發(fā)送到服務(wù)器端,并且設(shè)置了ContentType為"application/json; charset=utf-8",這樣服務(wù)器端就可以正確地解析Json數(shù)據(jù)。
除了Post Json之外,還有其他一些方法可以將Datagrid中的數(shù)據(jù)發(fā)送到服務(wù)器端,包括Get、Post、Put和Delete等方法。不同的場(chǎng)景和需求,選用不同的方法才能達(dá)到最佳效果。