如何创建Ajax Actionlink来调用bootbox对话框?

时间:2015-07-08 22:04:20

标签: ajax twitter-bootstrap model-view-controller bootbox

我的MVC View页面中有一个包含for循环的表。每行都有一个包含以下内容的删除按钮:

@Ajax.ActionLink("Delete", "DeleteRecord", new { id = item.Id }, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "divlist" }) |

它工作得非常好,但我想实现一个确认对话框。我发现bootbox可以用于模态确认对话框,但我不知道如何实现它:

// 1. When this is clicked, confirm
<a class="alert" href="#">Delete</a>

<script>
$(document).on("click", ".alert", function (e) {
    bootbox.confirm("Are you sure?", function (result) {
        if (result == true) {

            // 2. Do what ActionLink does depending on the ID

        }
    });
});

非常感谢任何形式的帮助。

1 个答案:

答案 0 :(得分:0)

AjaxOptions()有一个'confirm'选项,您可以在其中设置确认消息。

AjaxOptions Opts = new AjaxOptions()
{
    Confirm = "Are you sure?"        
}

但是如果要集成自定义模式,则不应使用Ajax.ActionLink。只需建立一个链接或@ Url.Action并设置监听器。

$('.class').click(function () {
    //open modal
    //if clicked yes
    $.ajax({
       ...
    });
});

或者尝试使用AjaxOptions的OnBegin属性并将其设置为模态窗口逻辑。如果他们拒绝确认,则返回false。