我想将类作为 ajax 后参数发送。
我的类(class):
public class PageInput
{
public string ActionName { get; set; }
public string Controller { get; set; }
public int CountPage { get; set; }
public int CountRecordInPage { get; set; }
public KeyValuePair<string, short> No { get; set; }
}
ajax代码:
$.ajax({
url: '@Url.Action("GetPageNumbers", "MyClasses")',
data: '@Model.PageInput',
success: function (data) {
alert(data);
}
});
行动:
public ActionResult GetPageNumbers(PageInput pageInput)
{
return PartialView("_PagingNumbers", pageInput);
}
不起作用。但为什么呢?
action接收到数据时结果为空!!但是发送前数据是正确的。
最佳答案
您需要在 JavaScript 代码中创建一个对象并将其发送出去:
$.ajax({
url: '@Url.Action("GetPageNumbers", "MyClasses")',
data: {
ActionName: '@Model.ActionName',
Controller: '@Model.Controller',
CountPage: @Model.CountPage,
CountRecordInPage: @Model.CountRecordInPage,
},
success: function (data) {
alert(data);
}
});
您还需要将 [HttpPost]
属性添加到 Controller 操作
关于ajax - jQuery 将类作为 POST 参数发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494725/