C# Ajax.BeginForm不发送和AjaxRequest

C# Ajax.BeginForm不发送和AjaxRequest,c#,jquery,asp.net,ajax,razor,C#,Jquery,Asp.net,Ajax,Razor,我想使用Ajax.BeginForm更新表而不重新加载整个页面,当我提交表单时,请求不是Ajax请求,或者在控制器方法中,当我询问请求是否为Ajax时,它从不进入if语句。所以我的文件中有: 论局部观 @model IEnumerable<Fighting.DTO.N_pais.OutN_pais> <table class="table table-advance" id="table_paises"> <thead> <tr

我想使用Ajax.BeginForm更新表而不重新加载整个页面,当我提交表单时,请求不是Ajax请求,或者在控制器方法中,当我询问请求是否为Ajax时,它从不进入if语句。所以我的文件中有:

论局部观

@model IEnumerable<Fighting.DTO.N_pais.OutN_pais>

<table class="table table-advance" id="table_paises">
    <thead>
        <tr>
            <th style="width: 18px">
                <input type="checkbox" /></th>
            <th>Nombre</th>
            <th>Editar</th>
            <th>Eliminar</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr class="table-flag-blue">
                <td>
                    <input type="checkbox" value="@item.ID_PAIS" /></td>
                <td>@item.NOMBRE</td>
                <td><a class="btn btn-circle" data-toggle="modal" href="#modal-2" onclick="Edit(@item.ID_PAIS)"><i class="fa fa-edit"></i></a></td>
                <td><a class="btn btn-circle" data-toggle="modal" href="#modal-3" onclick="Delete(@item.ID_PAIS, @item.NOMBRE)"><i class="fa fa-trash-o"></i></a></td>
            </tr>
        }
    </tbody>
</table>

我遗漏了什么?

如果不引人注目的ajax脚本在执行时出错并退出,而让浏览器自行处理提交,则会出现这种行为。根据我的经验,这通常发生在名称不匹配的情况下。也许您的局部视图没有返回ID为“table_paises”的对象,因此脚本无法找到目标对象


不管怎样,在浏览器(F12)中调试代码都会暴露错误。

在我的例子中,我忘记加载
jquery.unobtrusive ajax.min.js
文件

我通过添加以下代码行解决了这个问题

@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

您是否尝试过更改
之间的功能差异为零。按
按钮
public object Obtener()
    {
        var pais = _n_pais.GetAll().ProjectedAsCollection<OutN_pais>().ToList();

        var paises = from r in pais select r;

        return paises;
    }

    public override ActionResult Obtener(InUi input)
    {
        if (Request.IsAjaxRequest())
        {
            return PartialView("_TablePais", Obtener());
        }

        return View(Obtener());
    }
@Scripts.Render("~/Content/Flaty/assets/jquery/jquery-2.0.3.min.js")
@Scripts.Render("~/Content/Flaty/assets/bootstrap/js/bootstrap.min.js")
@Scripts.Render("~/Content/Flaty/assets/jquery-slimscroll/jquery.slimscroll.min.js")
@Scripts.Render("~/Content/Flaty/assets/jquery-cookie/jquery.cookie.js")
@Scripts.Render("~/Content/Flaty/assets/jquery-unobtrusive-ajax/jquery.unobtrusive-ajax.js")
@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")