【发布时间】:2014-11-12 20:36:07
【问题描述】:
我正在尝试使用自定义模型发布帖子:
public class CallbackPriorityItemModel
{
public int userID { get; set; }
public int order { get; set; }
public string name { get; set; }
}
但我无法让它工作。我必须遵循代码:
function updateUserCallbackList() {
var cbList = [];
$(".callbackListItem").each(function () {
cbList.push({
Name: this.id,
Order: $('li').index(this.parentElement),
UserId: _userID
});
});
var args = {
CbList: cbList,
UserID: _userID
};
$.post(SiteUtil.urlContent('/api/AccountApi/UpdateCallbackPriorityList?' + $.param(args)));
}
调用此方法:
[HttpPost]
public void UpdateCallbackPriorityList(CallbackPriorityItemModel[] cbList, int userID)
我已经确认 cbList 在 javascript 中不为空,但在点击 UpdateCalbackPriorityList 时它始终为空,尽管用户 ID 不为空。我尝试过使用其他方法:
var url = SiteUtil.urlContent('/api/AccountApi/UpdateCallbackPriorityList/');
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify(args),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
});
但我收到错误消息说浏览器找不到 UpdateCallbackPriorityList。 有什么建议吗?
;
【问题讨论】:
-
我认为您的方法需要为
static才能通过 AJAX 调用。即使这样,我也不确定 MVC 是否可以在没有任何特定说明的情况下从一个普通的 http 请求创建一个复杂的对象。
标签: javascript c# ajax http-post