我建立在JavaScript對象的數組,並希望通過Ajax(IM使用jQuery)Asp.Net MVC 4在成形後的對象數組自動綁定模型
JavaScript對象後他們回到服務器數組是這樣的:
var columns = [
{ name: 'col 1', source: 'whatever', hidden: false, width: 50 },
...
];
進出口張貼回這樣的:
$.post('/MyController/MyAction', { 'columns': columns });
在控制器動作即時通訊目前得到這個:
我有一個C#對象調用JqColumn
,我想後到綁定,它看起來像這樣:
public class JqGridColumn
{
public string name;
public string source;
public int width;
public bool hidden;
}
所以我認爲,在JqGridColumn[] columns
類型的控制器動作添加參數將自動綁定發佈數據,但它不(它會產生一個陣列,具有正確數量的元素,但數組中的每個項目都有空值)
誰能告訴我什麼林做錯了什麼?謝謝!
UPDATE
目前,我手動綁定在我的控制器行動的項目如下:
public void ColumnChooser(JqGridColumn[] columns)
{
for (int i = 0; i < columns.Length; i++)
{
columns[i].hidden = bool.Parse(Request.Form["columns[" + i + "][hidden]"]);
columns[i].width = int.Parse(Request.Form["columns[" + i + "][width]"]);
columns[i].name = Request.Form["columns[" + i + "][name]"];
columns[i].source = Request.Form["columns[" + i + "][source]"];
}
return;
}
...這工作得很好,但我真的很想知道.Net MVC(正確)的方式來做到這一點!
您是否嘗試過讓你JqGridColumn對象的字段放入屬性(即,添加一個獲取並設置),因爲它聽起來模型綁定無法找到字段 –
試過,仍然沒有喜悅我害怕... :( – Jimbo
您是否嘗試過使用WebApi控制器,模型綁定可能會使用WebAPI控制器作爲默認的MVC綁定(我認爲)取決於將HTML元素髮回到FormCollection中。 –