Bugün bunu çözmeye çalışmak için 8 saatimi harcadım. Çok sayıda çözüm gördüm, ancak aynı sonuçları alamıyorum. ASP.Net'e nispeten yeni olmanın herşeye sahip olduğu bir önsezim var.jQuery gönderi dizisi - ASP.Net MVC 4
Şanssız taklit etmeye çalıştığım en son soru. https://stackoverflow.com/questions/10007722/post-array-as-json-to-mvc-controller#=
How to post an array of complex objects with JSON, jQuery to ASP.NET MVC Controller?
Sorunun Temel Rundown : benim denetleyicisine aktarmak istiyorum json nesneler dizisi var. Veriyi aktardığımda, örneğin 3 öğeyi söyleyebilmemiz, ancak değerlerinin geçilmemesi ya da hiçbir şeyin geçilmediğini gösterir. Firebug bunu geçtiğini gösteriyor, bu yüzden bir şeyin doğru kurulmadığını ve bu değişkenin C# tarafında doğru bir şekilde ayarlanmasına izin vermeyeceğini varsayıyorum.
bir kaç şey denedim ve kötü listesi aşağıda onları: Kurulum 1: Ben ikinci linkten görülebilir neyi alay çalıştı:
$.ajax({
type: 'Post',
cache: false,
url: '/Workflow/Home/UpdateStepPositions',
data: { 'steps': ['1','2','3'] },
async: false,
success: function (data) {
console.debug(data);
},
error: function (data) {
console.debug(data);
}
});
Controller
[HttpPost]
public ActionResult UpdateStepPositions(string[] steps){
var bresults = new {
Success = false,
Message = "Unable to update step positions."
};
return Json(bresults);
}
Hatta çalışan bu kadar basit kurulum alamadım. .
list = new Array();
list.push({ "step": 1, "position": 1 });
list.push({ "step": 2, "position": 2 });
list.push({ "step": 3, "position": 3 });
$.ajax({
type: 'Post',
cache: false,
url: '/Workflow/Home/UpdateStepPositions',
data: JSON.stringify({ 'steps': list }),
async: false,
success: function (data) {
console.debug(data);
},
error: function (data) {
console.debug(data);
}
});
Controller
[HttpPost]
public ActionResult UpdateStepPositions(List<UpdatedSteps> steps){
var bresults = new {
Success = false,
Message = "Unable to update step positions."
};
return Json(bresults);
}
Class
public class UpdatedSteps {
public string Step { get; set; }
public string Position { get; set; }
}
herkes w ışık tutmayı Can: Bu
Kur 2 .... işlevine alır ve geçirilen şey yoktu gösteriyor şapka eksik veya bana doğru yönde işaret mi? Umarım basit bir şey ve sadece bir yeni hata!
kesinlikle gerekli olmadıkça, sen 'eşzamansız kullanarak olmamalıdır ajax çağrısı. AJAX'ın asenkron olması gerekiyor, bunu çevirerek tarayıcının ajax çağrısı sırasında yanıt vermemesine neden olabilirsiniz. – MrOBrian