Почему некорректно работает параметр маршрутизатора Razor Pages?

Только учусь, возникла ошибка, хочу услышать вашего совета. Вроде сделал всё как по образцу, но при переходе на страницу всегда выводится 0 :(

Код

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace WebApplication1.Pages
{
    public class FeedbackModel : PageModel
    {
        public int _pageId { get; set; }

        /*public bool? _feedbackStatus { get; set; } = null;

        public string _feedbackResponce { get; set; } = "";

        [BindProperty(Name = "feedbackEmail")]
        private string _feedbackEmail { get; set; } = "";
        
        [BindProperty(Name = "feedbackTextarea")]
        private string _feedbackTextarea { get; set; } = "";*/

        public void OnGet(int pageId)
        {
            _pageId = pageId;
        }

        public void OnPost()
        {
            /*_feedbackStatus = true;
            _feedbackResponce = "Обращение успешно отправлено";*/
        }
    }
}



@page "{id=1}"
@model FeedbackModel
@{
    ViewData["Title"] = "Обратная связь";
}

<p>Номер страницы: @Model._pageId</p>
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
@mvv-rus
Настоящий админ AD и ненастоящий программист
Параметры маршрута привязываются к параметрам метода обработчика страницы по имени, т.е. их имена в директиве @page в шаблоне страницы и в списке параметров метода в коде должны совпадать.
А у вас в @page используется id, а в списке параметров OnGet - pageId. Переименуйте что-нибудь, чтобы имена одинаковые были - и будет вам счастье.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы