Флажки .NET foreach формируются в контроллер [duplicate]

Я только что сделал

1.Включить тайники и перезагрузить

2. Восстановить мой проект, который решил проблему

9
задан Tieson T. 26 September 2015 в 08:18
поделиться

2 ответа

Пример сгенерированного HTML:

<label><input type="checkbox" name="deletedItems" value="3"> Some label for 3</label>
<label><input type="checkbox" name="deletedItems" value="4"> Some label for 4</label>
...
<button type="submit">Submit</submit>

Действие контроллера:

[HttpPost]
public ActionResult MyAction(int[] deletedItems)
{
    // deletedItems contains all values that were checked
    // when the submit button was clicked. Here you can
    // loop through the array of IDs and delete by ID.
    ...
}

Обратите внимание, что флажки не имеют атрибута id. Он не используется для привязки к модели. Вместо этого он имеет атрибут name с именем «deletedItems», который соответствует имени аргумента действия контроллера MyAction, и это то, что используется при привязке модели. Атрибут value отмеченных флажков будет использоваться для заполнения массива deletedItems из int[].

32
ответ дан Jeremy Cook 21 August 2018 в 12:26
поделиться
  • 1
    Я думаю, что это то, что мне нужно. Спасибо! – user2614879 31 July 2014 в 07:19
  • 2
    Простое решение, а не передача во всей форме. – JoshYates1980 13 June 2016 в 18:50

Если вам нужен сгенерированный html, например

<label><input type="checkbox" name="deletedItems" value="3"> Some label for 3</label>
<label><input type="checkbox" name="deletedItems" value="4"> Some label for 4</label>

Затем вы можете использовать следующий код

<td>@Html.CheckBox("selectedItems", new { @value = @item.checkId })</td> 
<td><input id="selectedItems" name="selectedItems" type="checkbox" value="11503" />
    <input name="selectedItems" type="hidden" value="false" /> 
</td>

Он не будет передавать выбранные элементы контроллеру.

1
ответ дан Artjom B. 21 August 2018 в 12:26
поделиться
Другие вопросы по тегам:

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