Привязать событие кнопки из частичного просмотра в другом представлении mvc - PullRequest
0 голосов
/ 20 мая 2018

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

Мой частичный просмотр:

          <br />
        <div align="center">
            <input type="button" ID="BtnLogin" value="تسجيل الدخول" Class="GreenButtonStyle" />
        </div>

Мой просмотр:

<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body >
<div style="width:100%;height:100%;">
    <br />
    <div style="text-align: center; align-items: flex-start;">
        <h3>تسجيل الدخول  </h3>
    </div>
    <br />
    <div align="center" vertical-align="middle">
        @Html.Partial("_LoginUC")
    </div>

</div>

Мой контроллер:

    public ActionResult Login(AdminLoginClass user, string ReturnUrl = "")
    {
        string message = "";


                        string username = user.AdminUserName;
                        string Password = user.AdminPassWord;


                        {
                        DBModel.DBAdminLogin DB_Model = new DBModel.DBAdminLogin();
                        AdminLoginClass AdminLoginClass = DB_Model.Login(username, Password);

                            int ID = AdminLoginClass.AdminGroupID;
                            switch (ID)
                            {

                                default:
                                    #region
                                    {
                                        return RedirectToAction("Index", "Home");

                                    }
                                    #endregion
                            }

                            ViewBag.Message = message;
                            return View(user);
                        }

        ViewBag.Message = message;
        return View();
    }

вот мой код JavaScript, я пишу его в главном окне:

<script>
$(document).ready(function () {
    $(".BtnLogin").on('click', function (event) {
        debugger;
        var requestedDataType = $(this).attr('data-value');
        $.ajax(
            {
                type: "GET",
                data: { requestedDataType: requestedDataType },
                url: "Login/Login",
                success: function (data) {
                    debugger;
                    $('#BtnLogin').html(data);
                },
                error: function () {
                    alert('Error')
                }
            }
        );
    }
    );
});

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

я был забыт добавить

 @using (@Html.BeginForm(null, "Login", FormMethod.Post))
{
    @Html.AntiForgeryToken();
 \\\\\\\ }

это работает после добавления этих 2 строк

0 голосов
/ 20 мая 2018

Проблема с вашим селектором .

Селектор определен как $(".BtnLogin"), который является селектором класса (Прочтите о здесь ).

Поскольку идентификатор кнопки равен BtnLogin, поэтому вы должны определить селектор как $("#BtnLogin").on('click', function (event) {.Вы можете прочитать о селекторе идентификаторов здесь .Если вы хотите, чтобы селектор использовал класс, определите его как $(".GreenButtonStyle").on('click', function (event) {

Полный код JS:

$(document).ready(function () {
    $("#BtnLogin").on('click', function (event) {
        debugger;
        var requestedDataType = $(this).attr('data-value');
        $.ajax(
            {
                type: "GET",
                data: { requestedDataType: requestedDataType },
                url: "Login/Login",
                success: function (data) {
                    debugger;
                    $('#BtnLogin').html(data);
                },
                error: function () {
                    alert('Error')
                }
            }
        );
    }
    );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...