Обновить список объектов в бритве с помощью формы - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу обновить 1 атрибут всех объектов в списке. Атрибут, который я хочу обновить, является логическим. Я пытаюсь обновить атрибуты с помощью формы POST. Таким образом, вы можете установить и снять все флажки. Но когда я отправляю форму, я не могу найти хороший и простой способ обновить все атрибуты. С помощью Razor вы можете обновлять объекты, не просматривая все атрибуты. Но я не могу найти способ обновить его.

Вот так выглядит мой объект:

public class Membership
{
    public int ID { get; set; }
    public int GroupID { get; set; }
    public string Name { get; set; }
    public int UserCount { get; set; }
    public bool UserIsMember { get; set; }
}

Я заполняю список участников некоторыми данными. Затем в представлении я отображаю данные следующим образом:

<form asp-page-handler="UpdateMembership" method="post">
    @foreach(Models.Membership membership in Model.MembershipList)
    {
        <input asp-for="@membership.UserIsMember" />
        <input asp-for="@membership.Name" />
        <input class="hidden" asp-for="@membership.GroupID" />
        <p></p>
    }
    <input type="submit">
</form>

Я пытался получить такие данные, но затем я все еще использую for-l oop. Я хочу избавиться от for для l oop и использовать Razor, как он предназначен.

foreach (string isChecked in Request.Form["membership.UserIsmember"])
{
   AreChecked.Add(bool.Parse(isChecked));
   //AreChecked is a list of booleans
}  

Как эффективно обновить атрибут UserIsmember для всех объектов? Может я что-то упустил? Любая помощь приветствуется !!

...