Добавление елементов в список с привязкой модели

Есть страница Razor

@page "/frombook"
@model Chapter7_View.Pages.FromBookModel
@{
    Layout = null;
}
<div class="row">
    <div class="col-md-6">
        <form method="post">
            <div class="form-group">
                <label asp-for="NewUser"></label>
                <input class="form-control" asp-for="NewUser" />
                <span asp-validation-for="NewUser"></span>
            </div>
            <div class="form-group">
                <button type="submit"
                    class="btn btn-success">Add</button>
            </div>
        </form>
    </div>
</div>

<h4>Number of users: @Model.ExistingUsers.Count</h4>
<div class="row">
    <div class="col-md-6">
        <ul class="list-group">
            @foreach(var user in Model.ExistingUsers)
            {
                <li class="list-group-item d-flex justify-content-between">
                    <span>@user</span>
                    <a class="btn btn-info"
                        asp-page = "ViewUser"
                        asp-route-userName ="@user">View</a>
                </li>
            }
        </ul>
    </div>
</div>

При нажатии на кнопку "Add" хочу, чтобы к списку "ExistingUsers" добавлялась строка, полученная из form, страница обновлялась и показывался обновленный список.

Например, при переходе на страницу пишет "Number of users: 4" и дальше их имена. Вы вводите имя в форму, нажимаете кнопку "Add" и страница перезагружается, но уже пишет "Number of users: 5" и их имена.

Сейчас же у меня при нажатии на кнопку возвращается HTTP код 400

Модель страницы:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace Chapter7_View.Pages
{
    public class FromBookModel : PageModel
    {
        public List<string> ExistingUsers { get; set; } = new() { "David", "Mark", "John", "Peter" };
        public void OnGet()
        {
        }
        public void OnPost(string userName)
        {
            ExistingUsers.Add(userName);
        }
    }
}

P.s: новичок в asp.net, учусь неделю


Ответы (0 шт):