Как вызвать модальный скрипт из actionLink ASP.NET - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть actionlink, который я хотел бы вызвать из него модальным окном.Но для этого мне нужно вызвать скрипт, но я не могу вызвать его так, как я называю его в href.

Используя href, я использую параметр data-modal = "", и я могу вызвать скрипт, нов actionLink я не могу

href пример:

<a href="@Url.Action("Edit",Boats", new { id = item.Id })" class="btn btn-warning" data-modal="">
<span class="fa fa-edit"></span>
</a>

ActionLink и сценарии:

  @if (Request.IsAuthenticated)
  {
     using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
    {    
        @Html.AntiForgeryToken()
        @Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "ChangePassword", "Manage")            
    }
   }
<div id="myModal" class="modal fade in">
    <div class="modal-dialog">
        <div class="modal-content">
            <div id="myModalContent"></div>
        </div>
    </div>
</div>


$(function () {
     $.ajaxSetup({ cache: false });        
            $("a[data-modal]").on("click", function (e) {
                $('#myModalContent').load(this.href, function () {
                    $('#myModalLogin').modal({
                        /*backdrop: 'static',*/
                        keyboard: true
                    }, 'show');
                    bindForm(this);
                });
                return false;
            });
        });

        function bindForm(dialog) {
            $('form', dialog).submit(function () {
                $.ajax({
                    url: this.action,
                    type: this.method,
                    data: $(this).serialize(),
                    success: function (result) {
                        if (result.success) {
                            $('#myModal').modal('hide');
                            $('#replacetarget').load(result.url); 
                        } else {
                            $('#myModalContent').html(result);
                            bindForm(dialog);
                        }
                    }
                });
                return false;
            });
        }
...