Невозможно вызвать мою страницу с бритвой (HTTP 404) - PullRequest
0 голосов
/ 23 июня 2019

Я создал новое приложение ASP.NET Core MVC с нуля с аутентификацией путем «хранения учетных записей пользователей в приложении».Я расширил ASP Identity с помощью собственной пользовательской VerifyEmail.cshtml бритвенной страницы.

Это выглядит неплохо, не правда ли?

Custom razor page inside Manage folder

Но я не могу запросить https://localhost:44345/Identity/Account/Manage/VerifyEmail, он получил 404!

Что я забыл?

Вот VerifyEmail.cshtml:

@model VerifyEmailModel
@{
    ViewData["Title"] = "Verify Email";
    ViewData["ActivePage"] = ManageNavPages.VerifyEmail;
}
<h4>@ViewData["Title"]</h4>
<partial name="_StatusMessage" for="StatusMessage" />
<div class="row">
    <div class="col-md-6">
        <form method="post">
            <div class="form-group">
                <label asp-for="Email"></label>
                <input asp-for="Email" class="form-control" disabled="disabled" />
            </div>
            <button id="email-verification" type="submit" class="btn btn-secondary">Send verification email</button>
        </form>
    </div>
</div>

1 Ответ

1 голос
/ 24 июня 2019

Добавьте @page в первой строке VerifyEmail.cshtml:

@page
@model VerifyEmailModel

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

...