要实现这个功能,你可以使用Ajax.ActionLink按钮和JavaScript来禁用页面上所有现有的按钮。以下是一个解决方案的代码示例:
@Ajax.ActionLink("禁用按钮", "DisableButtons", null, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "buttonContainer" }, new { @class = "btn btn-primary" })
[HttpPost]
public ActionResult DisableButtons()
{
// 这里可以根据需要编写逻辑来切换按钮的禁用状态
bool disableButtons = true;
return PartialView("_ButtonContainer", disableButtons);
}
public ActionResult ButtonList()
{
// 这里可以根据需要编写逻辑来获取页面上所有的按钮
List buttons = new List { "Button1", "Button2", "Button3" };
return PartialView(buttons);
}
@model List
@foreach (var button in Model)
{
}
$(document).on("click", "#buttonContainer button", function () {
if ($(this).hasClass("disabled")) {
return false;
}
// 发送Ajax请求来切换按钮的禁用状态
$.ajax({
url: '@Url.Action("DisableButtons")',
type: 'POST',
success: function (data) {
$("#buttonContainer").html(data);
},
error: function () {
alert("请求失败,请重试。");
}
});
});
通过点击"Ajax.ActionLink"按钮,会向服务器发送一个Ajax请求来切换按钮的禁用状态。服务器会返回一个部分视图,其中包含了所有按钮的列表。然后,通过JavaScript将返回的部分视图更新到页面上的按钮容器中。
希望以上解决方案能帮到你!