Я выяснил, в чем проблема.
Проблема заключалась в том, что в форме отсутствовал токен защиты от подделки.
Я просто добавил @Html.AntiForgeryToken();
внутри тега формы, и теперь все работает как положено.
Homie.cshtml
@page
@model WebApplication1.Pages.HomieModel
@{
ViewData["Title"] = "Homie";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Homie</h1>
<form method="post">
<input type="email" name="emailaddress">
<input type="submit">
@Html.AntiForgeryToken();
</form>
Похоже, что когда у вас есть основное приложение mvc asp.net, и когда вы добавляете в него страницу бритвы и пытаетесь создать форму, она не по умолчанию Помощник тега формы для asp .net core.
Если вы добавите эту строку на страницу Homie.cshtml, @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
автоматически сделает ее помощником по тегу формы. Смотри здесь .
Поэтому я изменил свой код Homie.cshtml на:
Homie.cshtml
@page
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@model WebApplication1.Pages.HomieModel
@{
ViewData["Title"] = "Homie";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Homie</h1>
<form method="post">
<input type="email" name="emailaddress">
<input type="submit">
</form>