C#,MVC确认删除对话框

时间:2017-07-15 14:36:08

标签: c# jquery asp.net-mvc twitter-bootstrap sweetalert

在开始的时候,我很抱歉我的英语能力差。我使用带有实体框架的MVC创建Web应用程序。当用户尝试从表中删除记录时,我想创建一个自定义的确认对话框。当我使用标准确认对话框确认时,确认有效;#34;返回确认('您确定吗?')"。但我想使用自定义的确认对话框,如来自bootstrap的甜蜜警报或类似的东西。

控制器中的删除方法:

https://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Vancouver%2C+Canada

视图中的表:

        [HttpPost]
    [ValidateAntiForgeryToken]
    [Authorize]
    public ActionResult Delete(int id)
    {
        DiabeticControl diabeticControl = db.DiabeticControls.Find(id);
        db.DiabeticControls.Remove(diabeticControl);
        db.SaveChanges();
        return RedirectToAction("Index");


    }

我在enter link description here中找到了一个简单的问题,但它在我的项目中并不起作用。

我的JavaScript:

@section Scripts {

 @foreach (var item in Model)
{
        <tr>
            <td>@Html.DisplayFor(modelItem => item.Result)</td>
            <td>@Html.DisplayFor(modelItem => item.Time)</td>
            <td>
                <div class="form-group">
                    @using (Html.BeginForm("Delete", "DiabeticControls",  new { id = item.Id }))
                    {
                            @Html.AntiForgeryToken()
                            @Html.ActionLink("Edit", "Edit", new { id = item.Id }, new { @class = "btn btn-default xs-margin" })
                            @Html.ActionLink("Details", "Details", new { id = item.Id }, new { @class = "btn btn-default xs-margin" })
                            <button type="submit" class="btn btn-danger xs-margin delete" >Delete</button>

                    }
                </div>
                @{
                    ViewBag.Key = item.Id;
                 }


            </td>

            <td>@Html.HiddenFor(modelItem => item.UserId)</td>
        </tr>
    }

}

1 个答案:

答案 0 :(得分:1)

好的,非常感谢您的帮助,但我找到了解决方案。我附带的问题出在我的图书馆。我用不同版本的jquery.js,sweetalert.css和sweetalert.js替换它,我根据这篇文章的解决方案定制了我的JavaScript:enter link description here

我的JavaScript:

@section Scripts {

<script type="text/javascript">

    $(document).ready(function () {

        $('.delete').on('click', function (e, data) {
            if (!data) {
                handleDelete(e, 1);
            } else {
                window.location = $(this).attr('href');
            }
        });



    });


    function handleDelete(e, stop) {
        if (stop) {
            e.preventDefault();
            swal({
                title: "Are you sure?",
                text: "You will not be able to recover the delaer again!",
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: "#DD6B55",
                confirmButtonText: "Yes, delete!",
                closeOnConfirm: false
            },
            function (isConfirm) {
                if (isConfirm) {
                    $(e.target).trigger('click', {});
                }
            });
        }
    };





</script>

}