我想發佈一個Javascript數組到WebAPI。發表Javascript數組到WebAPI
我有我的JavaScript數組一樣:
data: { staff: JSON.stringify(checkedStaff) };
我的WebAPI控制器是那麼喜歡:
public HttpResponseMessage Post([FromBody] formData data)
{
string string_group = String.Join(",", data.group);
string string_staff = String.Join(",", data.staff);
}
var checkedGroups = [];
var checkedStaff = [];
$.each(items, function() {
if (this.checked) {
type = dataAdapter.records[this.id - 1].VALUETYPE;
if (type == 'Staff') {
checkedStaff[checkedStaff.length] = this.value;
} else {
checkedGroups[checkedGroups.length] = this.value;
}
}
});
我用這則發送該到我的WebAPI和我的formData類是這樣的:
public class formData
{
public Array group { get; set; }
public Array staff { get; set; }
}
按照上面的說法,我想將數組拆分成一個逗號delimerated字符串。
但在服務器端string_staff變量只是一個空字符串和我的JSON數據是這樣的:
staff: "["1"]"
group: ""
我不希望在陣列中使用的鍵/值類型要麼。
任何想法的?
也許嘗試將您的組和員工屬性更改爲'string []'或'int []'而不是'Array'。 –
嗨,是的,我確實有這個作爲字符串之前我發佈的問題,但沒有嘗試過的字符串[]明天將它放棄 – realtek
WebAPI處理數據綁定的方式不同於MVC。試試這個'data:{'':myArray}',其中myArray有一個屬性給員工,一個給組。然後創建一個ViewModel(它有兩個數組屬性,一個用於工作人員,另一個用於組),然後將此傳入參數類型作爲您的方法。 – Nate