如何使用3个参数和序列化表单调用控制器的操作方法?
以下是我的内容,但'SearchCriteria sc'参数为null。
public JsonResult CreateDynamicCollection(int[] arrIds, string collectionName, int parentCollectionId, SearchCriteria sc)
{
// sc is null
}
public class SearchCriteria
{
public string City { get; set; }
public string PostalCode { get; set; }
// other fields here left out
}
var model = {};
model.arrIds = arrIds;
model.parentCollectionId = parentId;
model.collectionName = $createCollectionName.val();
var form = $('#formAdvSearch')[0];
model.form = $(form).serialize();
$.post(controller, model, function(response) {
if (response.error == false) {
//do some stuff
}
})
.fail(function() {
})
.always(function() {
});
答案 0 :(得分:0)
这是我做的,
我传入了一个更复杂的序列化数据结构。
var form = $('#formAdvSearch')[0];
var serializedForm = $(form).serializeArray();
serializedForm.push({
name: 'arrIds',
value: arrIds
});
serializedForm.push({
name: 'parentCollectionId',
value: parentId
});
serializedForm.push({
name: 'collectionName',
value: $createCollectionName.val()
});
model = serializedForm;

然后我让我的新对象接受模型继承旧对象,新项目被放置在新的对象中