Проблема с маршрутизацией ASP.Net MVC - PullRequest
0 голосов
/ 28 ноября 2018

Когда я запускаю приложение с ISS после нажатия на класс.Браузер запускается с этим URL.http://localhost:50282/

Когда я нажимаю на Индекс в моей папке Учетная запись в представлениях и запускаю приложение, я получаю этот URL: http://localhost:50282/Account/Index

Теперь на обоих URL-адресах у меня есть форма регистрации, которая ссылается надействие в моем AccountController.Когда я отправляю форму во втором случае, я получаю этот URL: http://localhost:50282/Account/register, и метод register запускается в моем классе AccountController и работает нормально.

В первом случае я получаю этот URL и ошибку:

URL: http://localhost:50282/register
Ошибка: 404
Ошибка сервера в приложении '/'.
Ресурс не найден.
Описание: HTTP 404. Ресурс, который вы ищете (или одну из его зависимостей), мог быть удален, изменилось его имя или временно недоступен.Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.

Запрашиваемый URL: / register

Я хочу, чтобы URL перешел на второй URL http://localhost:50282/Account/registerпосле нажатия зарегистрируйтесь независимо от того, где я щелкнул перед запуском приложения.

Отправить код просмотра формы:

    @{
        ViewBag.Title = "Index";
    }
    <h1>Register Form </h1>

    <form action="register" method="post">
    <label><i class="" aria-hidden="true"></i> Username </label>
    <input type="text" name="Username" placeholder="Enter User Name"     required="" />
    <br>
    <label><i class="" aria-hidden="true"></i> password </label>
    <input type="password" name="Password" placeholder="Enter Password" required="" id="myInput" />

    <input type="submit" value="Register">
</form>

1 Ответ

0 голосов
/ 28 ноября 2018

Вам необходимо указать, куда отправляется ваша форма.Так что измените это ...

<form action="register" method="post"> 
    <label>
    <i class="" aria-hidden="true"></i> Username </label> 
    <input type="text" name="Username" placeholder="Enter User Name" required="" /> 
    <br> 
    <label>
    <i class="" aria-hidden="true"></i> password </label> 
    <input type="password" name="Password" placeholder="Enter Password" required="" id="myInput" /> <input type="submit" value="Register"> 
</form>

на html помощник для вашей формы ...

@using(Html.BeginForm("Register", "Account"))
{

 <label><i class="" aria-hidden="true"></i> Username </label> 
 <input type="text" name="Username" placeholder="Enter User Name" required="" /> 
 <br> 
 <label><i class="" aria-hidden="true"></i> password </label> 
 <input type="password" name="Password" placeholder="Enter Password" required="" id="myInput" /> 
 <input type="submit" value="Register"> 
 }

Также вам нужно добавить antiforgery token для безопасности (@html.Antiforgerytoken()).И украсьте Register действие атрибутом [ValidateAntiforgeryToken].

См. this

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