我有以下场景(这只是实际场景的一个例子,因为实际是很多代码)。
::实体
public class stuff
{
public int ID {get;set;}
public string sometext {get;set;}
}
::模型
public class StuffModel
{
public IEnumerable<entites.stuff> myStuff
}
::视图
<form class="frmItem"...>
<input type="hidden" name="Item.ID" id="Item_ID" value="something" />
<input type="text" name="Item.stuff" id="Item_stuff" value="some text" />
</form>
<form class="frmItem"...>
<input type="hidden" name="Item.ID" id="Item_ID" value="something" />
<input type="text" name="Item.stuff" id="Item_stuff" value="some text" />
</form>
::控制器
[HttpPost]
public ActionView ProcessStuff(StuffModel myModel)
{
...
}
我已经尝试过以下操作,但我无法填充模型:
$('.btnRecalc').click(function () {
var stuffItems = new Array();
$('.sItem').each(function () {
var flag = $(this).data('haschanged');
if (flag != 0) {
stuff[stuff.length] = $(this).find('.frmstuffItem').serialize();
}
});
if (stuffItems[0] != null)
{
var response = $.ajax({
url: '@Url.Action("dosomething")'
, type: 'POST'
, data: { myModel: JSON.stringify({ myStuff: stuffItems}) }
});
};
});
对于ajax调用的“data”行,我尝试了以下所有内容:
, data: { JSON.stringify({ myStuff: stuffItems}) }
, data: { JSON.stringify({ myModel: stuffItems}) }
, data: { myModel: { myStuff: stuffItems} }
, data: { myStuff: stuffItems }
, data: { myModel: stuffItems }
我的问题是如何向控制器发布一个模型的数组,其数据在表单中?
答案 0 :(得分:0)
尝试
data: JSON.stringify({ myModel: { myStuff: stuffItems } }),
contentType: 'application/json'