powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как в MVC передать в Action список элементов?
10 сообщений из 10, страница 1 из 1
Как в MVC передать в Action список элементов?
    #37679888
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,

На форме пользователь добавляет произвольное количество элементов одного типа, к примеру
Код: c#
1.
2.
3.
4.
5.
class Man
{
   public string Name;
   public int Year;
}



Имя | Год рождения | Добавить еще
Олег 1985
Саша 1834
Григорий 2002 +
и т.д

т.е заранее я не знаю сколько объектов класса Man он добавит, но хотелось бы что все это я элегантно запихнул в список и при нажатии на кнопку, action получился бы таким:

Код: c#
1.
2.
3.
4.
public ActionResult AddMans(IEnumerable<Man> mans)
{
...
}
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37679913
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
JSON?
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680018
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.JSON?
не из экшина во вью, а из вью в экшн
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680028
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
так собери джаваскриптом JSON и передавай себе его в свой экшн
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680040
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы предпочел собирать данные и отправлять через JSON,

но если нужно использовать POST формы,

то можно попробовать полям класса Man в input присваивать имена с порядковым номером.

Если взять простой пример,

<input id="Name_0_" name="Name[0]" type="text" value="">
<input id="Name_1_" name="Name[1]" type="text" value="">

то
Код: c#
1.
public ActionResult AddMans(List<string> Name)

вернет коллекцию имен.

Если MVC объединяет коллекцию полей в коллекцию классов, то должно и с классами заработать.
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680113
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OracleLover, скорее всего для этого нужно будет написать свой model binder.
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680184
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680232
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, Спасибо за толковую ссылку!
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37680250
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо,

skyANA2. ASP.NET Wire Format for Model Binding to Arrays, Lists, Collections, Dictionaries .

То что надо.
...
Рейтинг: 0 / 0
Как в MVC передать в Action список элементов?
    #37683838
Фотография OracleLover
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоединюсь к своей же теме.

skyANA ,
Не знаешь а как в таком случае проверять на валидность модель когда она приходит списком?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class Man
{
   [Required]
   public string Name;
   [Required]
   public int Year;
} 

public ActionResult AddMans(Man[] mans)
{
   //ModelState.IsValid всегда false
}
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как в MVC передать в Action список элементов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]