javascript - 通过 JavaScript 更改 MVC Ajax 表单的插入模式?

标签 javascript c# ajax asp.net-mvc asp.net-mvc-ajax

我想在客户端通过 javascript 更改一些 MVC Ajax 表单参数,例如 InsertionModeLoadingElementId
我该怎么做?

MVC ajax 表单示例:

@using (Ajax.BeginRouteForm("DevicesByObjectName", new AjaxOptions
{
    InsertionMode = InsertionMode.InsertBefore,
    UpdateTargetId = "Devices",
    LoadingElementId = "LoaderContents",
    OnSuccess = "MoreDevicesOnSuccess",
    OnFailure = "MoreDevicesOnFailure",
    OnBegin = "MoreDevicesOnBegin",
    OnComplete = "MoreDevicesOnComplete",
}))
{
    <div>
        @Html.AntiForgeryToken()
        <input type="hidden" value="@Model.Object.Id" id="ObjectId" name="ObjectId" />
        <input type="hidden" value="2" id="PageNumber" name="PageNumber" />
        <input type="hidden" value="" id="Filtering" name="Filtering" />

        <div class="center-block" style="max-width: 360px;">
            <input type="submit" value=" more" class="btn btn-primary btn-lg btn-block center-block" />
        </div>
        <div id="LoaderContents" class="ajax-loader center-block hidden"></div>
    </div>
}

最佳答案

BeginRouteForm生成 <form>带有一系列 data-xxx 的标签基于 AjaxOptions 的属性, 例如

<form ... data-ajax-loading="#LoaderContents" data-ajax-mode="before" ...>

您可以使用 jquery 的 .data() 获取和设置它们或 .attr()方法。所以对于你的助手生成的表单

console.log($('form').data('ajax-mode')); // returns before
$('form').data('ajax-mode', 'after'); // change the insertion mode
console.log($('form').data('ajax-mode')); // returns after

关于javascript - 通过 JavaScript 更改 MVC Ajax 表单的插入模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26439305/

相关文章:

Javascript方法同步调用,无需回调和$.ajax

javascript - 事件列表元素取决于星期几

javascript - 在 Angular 11 中添加多个同名参数

c# - 数组、数组列表还是列表列表?

php - 带有 '+' 符号的 Jquery ajax 调用

javascript - 单击单选按钮时,我想用 Ajax 调用 Spring MVC 的 Controller

javascript - 当我回来时Ajax数据消失了

javascript - react : Rendering a list in reverse order

c# - C# 中的复数

c# - 未将对象引用设置为对象实例引发错误?