Получить идентификатор из элемента, который отмечен флажком в ASP.NET Ядро 5 MVC

#list #asp.net-core #model-view-controller #checkbox

Вопрос:

Мне нужна помощь! У меня есть ASP.NET Веб-приложение Core 5 MVC. У меня есть список элементов из базы данных .mdf, и мне нужен флажок в конце каждой строки элементов. Когда я нахожусь в контроллере этого представления, я хочу иметь идентификатор элемента, который проверяется. Там может быть несколько проверенных. Но я не знаю, как к этому подступиться. Ниже приведены некоторые фрагменты из моего кода:

Индекс.cshtml

 <form asp-action="Send">
    <table class="table">
        <thead>
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.Id)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Bez)
                </th>
                <th></th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.Id)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Bez)
                    </td>
                    <td>
                        <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
                        <a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
                    </td>
                    <td>
                        @Html.CheckBox("Finalized", false)
                    </td>
                </tr>
            }
        </tbody>
    </table>
    <input type="submit" value="Send" class="btn btn-primary" />
    <br /><br />
    <p>Achtung! Beim Senden an einem Freitag wird der Dienstplan automatisch für den darauffolgenden Montag eingeteilt.</p>
</form>
 

Кто-нибудь может мне помочь? Я просто хочу, чтобы идентификатор был в списке в моем контроллере, который проверяется.

Ответ №1:

Похоже, вы хотите опубликовать выбранные идентификаторы в бэкэнде. Вот рабочая демонстрация, за которой вы могли бы следить:

 @Html.CheckBox("Finalized", false,new { @value=item.Id})
 

Контроллер:

 [HttpPost]
             //if the type of item.Id is int, it will receive int array in backend
public IActionResult Send(int[] Finalized)  
{
    //do your stuff...
}