Timur2342
@Timur2342

Почему RedirectToPage() выдает System.InvalidOperationException: No page named 'Chat' matches the supplied values?

В одной странице отправляю пост запрос который должен перенаправить на другую страницу:
[BindProperty(SupportsGet = false), Range(0, int.MaxValue)]
public int ChatId { get; set; }
public IActionResult OnPost()
{
    if (ModelState.IsValid == false)
        return new BadRequestResult();
    //code...
    return RedirectToPage("Chat", "OnGet", new { ChatId });
}

Вот сам Chat:
public class ChatModel : PageModel
{
    [BindProperty(Name = "id", SupportsGet = true), Range(0, int.MaxValue)]
    public int ChatId { get; set; }

    public IActionResult OnGet()
    {
        if (ModelState.IsValid == false)
            return new BadRequestResult();

        Console.WriteLine("Chat");

        return Page();
    }
}

@page "{id}"
@model ChatS.Pages.ChatModel
@{
}
<p>...</p>

662d55a10a49b914179847.png
Из за чего может быть ошибка?
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
Timur2342
@Timur2342 Автор вопроса
Дело было в том что я в RedirectToPage("Chat", "OnGet", new { ChatId }); создавал анонимный тип(3-й параметр метода), у которого имелось свойстов ChatId равное 0 (тк ChatId это int, то дефолт значение у него будет 0), вместо этого стоило создать свойство "id" с значением ChatId: RedirectToPage("Chat", new { id = ChatId })
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы