[英]NULL values while passing JSON data to controller via AJAX
試圖將 JSON 從 View 傳遞到 Controller
{
"allselected": false,
"selectedIds": ["", "all"],
"targetControl": "Studieniva",
"targetSource": "studienivalist",
"dependency": [{
"name": "ShopNo",
"selectedvalues": "311"
}, {
"name": "Institution",
"selectedvalues": ["all", "UIO"] // THIS IS COMING AS NULL AT CONTROLLER . OCCURS ONLY WHEN MULTIPLE ITEMS UNDER dependency
}]
}
Javascript 發送請求的代碼如下(嘗試同時發出多個請求,並根據每個請求的響應加載一些下拉菜單)
var targetcontrols_array = targetControl.split(',');
var targetsource_array = targetSource.split(',');
const arrOfPromises = targetcontrols_array.map(function(item, index) {
var control_name = item;
var source = targetsource_array[index];
var request_data = JSON.stringify({ allselected: allselected_flag, selectedIds: selectedvalues, targetControl: control_name, targetSource: source, dependency: dependencyOptions });
console.log("req:"+request_data); //SAMPLE JSON ADDED On TOP
return new Promise((resolve) => {
$.ajax({
url: action_url,
type: 'POST',
traditional: true,
async: false,
data: request_data,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (response) {
//process response
}
})
});
});
Promise.all(arrOfPromises);
MVC controller 動作如下
[HttpPost]
public JsonResult CascadingDropDown(DynamicFormSelectModel model)
{
model.dependency values are not coming correctly . Observing that the value of SelectedValues is NULL in some cases
( OCCURS ONLY WHEN MULTIPLE ITEMS UNDER dependency )
}
public class DynamicFormSelectModel
{
public bool allselected { get; set; }
public string[] selectedIds { set; get; }
public string targetSource { set; get; }
public string targetControl { set; get; }
public List<DynamicFormDependencyOptions> dependency { set; get; }
}
public class DynamicFormDependencyOptions
{
public string Name { get; set; }
public string SelectedValues { get; set; }
}
While trying to read the request model.dependency values, sometimes getting NULL, even if values are passed from View (Example attached JSON passing 2 values "name": "Institution", "selectedvalues": ["all", "UIO"] ,但在 controller 我得到 NULL . 主要發生在依賴屬性下存在多個項目並且不知道為什么它以 NULL 出現時
public class DynamicFormDependencyOptions
{
public string Name { get; set; }
public string SelectedValues { get; set; }
}
將其更改為
public class DynamicFormDependencyOptions
{
public string Name { get; set; }
public string[] SelectedValues { get; set; }
}
此代碼將SelectedValues作為字符串 object 但數據采用字符串數組形式使 SelectedValues 成為字符串數組,您將得到它....並相應地更改以下代碼以解析字符串數組,就像您為selectedIds所做的那樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.