Как передать список целых чисел в действие MVC?

Могу ли я использовать List или что-то еще?

7
задан Jason Berkan 10 August 2010 в 16:55
поделиться

5 ответов

У Скотта Хансельмана есть отличное руководство для этого здесь.

8
ответ дан 6 December 2019 в 11:45
поделиться

Вам нужно передать их своему действию, добавив каждое целое число в строку запроса POST или GET, например:

myints=1&myints=4&myints=6

Затем в вашем действии будет следующее действие

public ActionResult Blah(List<int> myints)

MVC затем заполнит список 1,4 , и 6

Одна вещь, о которой нужно знать. В строке запроса НЕ МОГУТ содержать скобки. Иногда, когда списки javascript сформированы, ваша строка запроса будет выглядеть так:

myints[]=1&myints[]=4&myints[]=6

Это приведет к тому, что ваш список будет нулевым (или будет иметь нулевое количество). Скобки не должны присутствовать, чтобы MVC правильно привязал вашу модель.

8
ответ дан 6 December 2019 в 11:45
поделиться

Просто возьмите правильную коллекцию. Какая именно сортировка зависит от версии:

MVC1: public ActionResult DoSomething (int [] input)
MVC2: public ActionResult DoSomething (IList input)

1
ответ дан 6 December 2019 в 11:45
поделиться

Если вы пытаетесь отправить список из какого-либо элемента интерфейса (например, таблицы), вы можете просто установить их атрибут name в HTML на: CollectionName [Index] например:

<input id="IntList_0_" name="IntList[0]" type="text" value="1" />
<input id="IntList_1_" name="IntList[1]" type="text" value="2" />

И

public ActionResult DoSomething(List<int> IntList) {
}

Параметр IntList получит список, содержащий 1 и 2 в этом порядке

1
ответ дан 6 December 2019 в 11:45
поделиться
 [ArrayOrListParameterAttribute("ids", ",")]
 public ActionResult Index(List<string> ids)
 {

 }
-2
ответ дан 6 December 2019 в 11:45
поделиться
Другие вопросы по тегам:

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