'daki Sunucuya bir AJAX isteğindeki kimliklerin listesi nasıl geçilir MVC'deki sunucuya AJAX isteğinde, denetleyicinin işlem işlevine bir kimlik listesi listesini nasıl aktarabilirim?MVC
Html yardımcılarıyla birlikte ya da kullanmadan kabul ediyorum.
MVC'nin model bağlayıcılarının, int
, string
ve bool
gibi basit türlere geldiğinde sorun olmadığını biliyorum.
Eylemde kullanmak ve dizmek zorunda olduğum bir şey mi?
ı kullanmak zorunda umurumda değil bir array
veya List
ve hatta dizeleri eğer int
veya strings
Hep çevirebiliriz. Onlara sadece sunucuda ihtiyacım var. Listem ids, şu anda boş verir.
JavaScript:
var ids= [1,4,5];
// ajax request with ids..
MVC Eylem:
public ActionResult ShowComputerPackageBuffer(List<int> ids) // ids are null
{
// build model ect..
return PartialView(model);
}
DÜZENLEME: Eklenen benim AJAX isteği
$(document).ready(function() {
$('#spanComputerPackagesBuffer').on('click', function() {
var ids = $('#divComputerPackagesBuffer').data('buffer');
console.log('bufferIds: ' + bufferIds);
var data = {
ids: ids
};
var url = getUrlShowComputerPackageBuffer();
loadTable(url, "result", data);
});
});
// AJAX's
function loadTable(url, updateTargetId, data) {
var promise = $.ajax({
url: url,
dataType: "html",
data: data
})
.done(function (result) {
$('#' + updateTargetId).html(result);
})
.fail(function (jqXhr, textStatus, errorThrown) {
var errMsg = textStatus.toUpperCase() + ": " + errorThrown + '. Could not load HTML.';
alert(errMsg);
});
};
// URL's
function getUrlShowComputerPackageBuffer() {
return '@Url.Action("ShowComputerPackageBuffer", "Buffer")';
};
ÇÖZÜMLER: // Teşekkürler yorumunu @aherrick için. Eğer contentType
application/json
ve verileriniz dizgelenmiş emin olmak zorunda
$(function() {
var ids = [1, 4, 5];
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: '@Url.Action("YourAction", "YourController")',
data: JSON.stringify({ ids: ids })
}).done(function() {
});
});
: Ben
$.ajax({
type: "POST",
url: '@Url.Action("ShowComputerPackageBuffer", "Buffer")',
dataType: "json",
traditional: true,
data: {
bufferIds: bufferIds
}
});
AJAX isteğinizi nasıl hazırladığınızı gösterir misiniz? –
@OmriAharon bir an – radbyx
'' geleneksel' parametresini kullanın. http://stackoverflow.com/questions/4402036/jquery-ajax-posting-array-to-asp-net-mvc-controller – aherrick