Как правильно использовать @ Html.BeginForm ()? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь создать форму с 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)
}

Вот что я получаю: Screenshot of exception page

Что я делаю не так?

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