Html .ActionLink показывает URL страницы, на которой я уже нахожусь. NET Core 2.2 - PullRequest
0 голосов
/ 28 февраля 2020

Я недавно сделал переход с. NET Core 2.1 на. NET Core 2.2 и все прошло хорошо, кроме этой вещи с @ Html .ActionLink

У меня 2 @ Html .ActionLink в моем _LoginPartial.cs html, тот, кто go на странице регистрации (который я сам сделал) и тот, кто go на странице входа (который был создан Microsoft с помощью Identity).

Если я нажимаю «Зарегистрироваться», все в порядке, и это приводит меня на страницу регистрации с контроллера регистра. Но я нажимаю «Вход», он сохраняет меня на той же странице, что и я, и URL-адрес также является страницей, на которой я уже работаю. Если я просматриваю вручную, я могу перейти на страницу входа. Я думаю, что-то с моей маршрутизацией, но я ничего не изменил в этом, так что я немного потерян!

<ul class="nav navbar-nav navbar-right ml-auto mt-1">
    <li class="nav-item" id="Register" style="padding-right:20px;">
        @Html.ActionLink("Register", "Index", "Register", null, new { @style = "color:white" })
    </li>
    <li class="nav-item" id="Login">
        @Html.ActionLink("Login", "/Account/Login", "Identity", null, new { @style = "color:white" })
    </li>
    <li class="nav-item" id="Login">
        @Html.ActionLink("Login", "Account", "Identity", null, new { @style = "color:white" })
    </li>
</ul>







  app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });

1 Ответ

0 голосов
/ 28 февраля 2020

Я не мог понять ваш код. По сути: ActionLink принимает эти 3 первых параметра: string: Text string: ActionName string: ControllerName HtmlHelper.ActionLink В первой ссылке вы ссылаетесь на страницу индекса, а имя контроллера - Register. Звучит неправильно!

Тогда у вас есть две ссылки на действия, которые, как предполагается, ведут на одну и ту же страницу, но есть ошибка, вы написали /Account/Login, которая не Имя действия . Похоже на маршрут !

<li class="nav-item" id="Login">
        @Html.ActionLink("Login", "Login", "Account", null, new { @style = "color:white" })
</li>

Вместо /Account/Login, это будет Login. И имя контроллера, которое я считаю Account Я думаю, что вы допустили одну и ту же ошибку во всех ссылках действий, поэтому обязательно исправьте имена действий и имена контроллеров.

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