Я пытаюсь создать форму с Html.BeginForm()
помощником.Но он выдает исключения:
XmlException: Root element is missing.
System.Xml.XmlTextReaderImpl.Throw(Exception e)
CryptographicException: An error occurred while trying to encrypt the provided data. Refer to the inner exception for more information.
Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Protect(byte[] plaintext)
Это стандартное приложение ASP.Net MVC.Я изменил код контроллера, добавил view-модель и классы просмотра.Вот и все.
Контроллер:
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Login(UserVM userVM)
{
return Json(userVM);
}
}
ViewModel:
public class UserVM
{
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
public string Password { get; set; }
}
Просмотр:
@using WebApplication1.ViewModels
@model UserVM
@using (Html.BeginForm("Login", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m=>m.Email)
@Html.PasswordFor(m=>m.Password)
}
Вот что я получаю:
Что я делаю не так?