Я пытаюсь передать сообщение об ошибке обратно на страницу, когда, например, имя пользователя, которое выбирает клиент, уже используется другим пользователем, использующим страницы модели Razor.
В настоящее время я использую ViewData [...] из cs для передачи сообщения на страницу Razor cshtml.
[BindProperty]
public UserView UserView { get; set; }
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
if(_context.User.Where(user => user.Username == UserView.Username).FirstOrDefault() != null)
{
ViewData["Error"] = "That username is already in use by another user!";
return Page();
}
}
CSHTML:
@if (ViewData["Error"] != null)
{
<script>
$(document).ready(function () {
swal({
title: "Error!",
text: '@ViewData["Error"]',
icon: "error",
});
});
</script>
}
Это отлично работает, но я не могу найти много ресурсов для использования бритвенных страниц, и большая часть того, что я нахожу, - это использование ядра MVC aspnet. По сути, я спрашиваю, хорошо ли это и может ли быть лучший способ.