Javascript Ajax.BeginForm()未发回控制器

Javascript Ajax.BeginForm()未发回控制器,javascript,jquery,ajax,asp.net-mvc,asp.net-ajax,Javascript,Jquery,Ajax,Asp.net Mvc,Asp.net Ajax,我正在尝试为一个包含在partial to work中的简单列表进行分页,但从未调用post-actionresult 在调试期间,我可以看到我的按钮在Chrome调试器中被激活,因此我认为问题出在$('form')上,但我不确定原因 另外,通过Chrome控制台,我可以看到在单击next/previous时页码计算正确 我在控制器中的[HttpPost]操作方法上有一个断点,它从未被调用 问题不在于后端的C#,而在于为什么表单没有首先发布 我在Ajax和POST-back方面哪里出了问题 索引

我正在尝试为一个包含在partial to work中的简单列表进行分页,但从未调用post-actionresult

在调试期间,我可以看到我的按钮在Chrome调试器中被激活,因此我认为问题出在
$('form')
上,但我不确定原因

另外,通过Chrome控制台,我可以看到在单击next/previous时页码计算正确

我在控制器中的
[HttpPost]
操作方法上有一个断点,它从未被调用

问题不在于后端的C#,而在于为什么表单没有首先发布

我在Ajax和POST-back方面哪里出了问题

索引:

@model ViewModel
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Things</h2>
<div>

    @Html.ActionLink("Create", "Create", "Things", null, new { @class = "modal-link btn btn-sm" })
    <div class="Table">
        <div id="thingsList">
            @Html.Partial("List", Model.ThingList)
        </div>
        @using (Ajax.BeginForm("Index", "Things", FormMethod.Post, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "thingsList" }))
        {
            <input type="hidden" id="CurrentPage" value="@ViewBag.CurrentPage" />
            <input type="hidden" id="PreviousPage" value="@ViewBag.PreviousPage" />
        }
        <input type="button" onclick="javascript: PrevBtnClick();" class="btn btn-primary" id="PrevBtn" value="Previous" />
        <input type="button" onclick="javascript: NextBtnClick();" class="btn btn-primary" id="NextBtn" value="Next" />
    </div>
</div>
<script type="text/javascript">
    function PrevBtnClick() {
        if (CalculateAndSetPage("Previous")) {
            $('form').submit();
        }
    }
    function NextBtnClick() {
        if (CalculateAndSetPage("Next")) {
            $('form').submit();
        }
    }
    function CalculateAndSetPage(movingType) {
        var current = parseInt($('#CurrentPage').val());
        if (movingType == 'Previous') {
            current--;
        }
        else if (movingType == 'Next') {
            current++;
        }
        else {
            alert('Something has gone wrong');
        }
        $('#CurrentPage').val(current);
    }
</script>
@model视图模型
@{
Layout=“~/Views/Shared/_Layout.cshtml”;
}
东西
@ActionLink(“Create”、“Create”、“Things”、null、new{@class=“modal link btn btn sm”})
@Html.Partial(“List”,Model.ThingList)
@使用(Ajax.BeginForm(“Index”,“Things”,FormMethod.Post,new-AjaxOptions{HttpMethod=“Post”,InsertionMode=InsertionMode.Replace,UpdateTargetId=“thingsList”}))
{
}
函数prevbtclick(){
如果(CalculateAndSetPage(“上一页”)){
$('form').submit();
}
}
函数NextBtnClick(){
如果(CalculateAndSetPage(“下一页”)){
$('form').submit();
}
}
函数CalculateAndSetPage(移动类型){
var current=parseInt($('#CurrentPage').val();
if(movingType=='Previous'){
当前--;
}
else if(movingType=='Next'){
电流++;
}
否则{
警惕(“出了什么事”);
}
$('#CurrentPage').val(当前);
}

它没有发回的原因是它从来没有到达
$('form')
-这应该可以正常工作

$('#CurrentPage').val(当前)下面
add
返回true
-如果(CalculateAndSetPage(“Previous/next”)的javascript函数询问的是/否(布尔值)问题,而当前脚本没有回答。它只有在正确的情况下才会起作用