ASP.NET MVC не может получить проверку Jquery для работы с формой в _layout - PullRequest
0 голосов
/ 09 мая 2019

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

Я предполагаю, что что-то в макете (или, возможно, в форме выпадающего списка) вызывает проблему.

Важные биты моего макета ...

@Scripts.Render("~/bundles/jquerybase")
@Scripts.Render("~/bundles/jqueryajax")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/bootstrap")
@Styles.Render("~/Styles/bootstrap")
@Styles.Render("~/Styles/css")


<nav class="navbar navbar-inverse navbar-fixed-top" id="MainNavbar">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="#">Logo</a>
        </div>
        <ul class="nav navbar-nav">
            <li>@Html.ActionLink("Home", "Index", "Home")</li>
            <li>@Html.ActionLink("About", "About", "Home")</li>
            <li>@Html.ActionLink("Contact", "Contact", "Home")</li>               
        </ul>
        <ul class="nav navbar-nav navbar-right float-right">
            @if (!User.Identity.IsAuthenticated)
            {
                <li>
                    <a href="#" class="dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        <span class="glyphicon glyphicon-log-in"></span> Login
                    </a>

                    <div class="dropdown-menu" id="dropdownLogon">
                        @Html.Partial("~/Views/User/Logon.cshtml", new SiteProject.Models.UserModel())
                    </div>
             }
                </li>
         </ul>
    </div>
</nav>

Мое частичное представление:

@model SiteProject.Models.UserModel

@using (Html.BeginForm("Logon", "User", FormMethod.Post, new { htmlAttributes = new { Id = "logonForm", name = "logonForm" } }))
{

    @Html.AntiForgeryToken()
    <form class="px-4 py-3">
        <div class="form-group">
            @Html.Label("Username", htmlAttributes: new { id = "UserNameLabel" })
            @Html.EditorFor(m => m.UserName, new { htmlAttributes = new { id = "Username", @class = "form-control", } })
            @Html.ValidationMessageFor(m => m.UserName, "", new { @class = "text-danger" })

        </div>
        <div class="form-group">
            @Html.Label("Password", htmlAttributes: new { id = "PasswordLabel" })
            @Html.EditorFor(m => m.Password, new { htmlAttributes = new { @type = "password", id = "Password", @class = "form-control", } })
            @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
        </div>
        <button type="submit" class="btn btn-primary">Sign in</button>
    </form>
    <br />
    <div class="dropdown-divider"></div>
    <div>
        <a class="dropdown-item" href="#">Forgot password?</a>
    </div>

}

Может ли кто-нибудь пролить свет на то, почему и каким будет решение.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...