Как определить ViewModel для входных данных типа Array - PullRequest
0 голосов
/ 30 апреля 2019

Мой HTML выглядит следующим образом.

 <div class="input-group phone-input">
  <span class="input-group-btn">
 ...
 <input type="hidden" name="phone[1][type]" class="type-input" value="" />
 <input type="text" name="phone[1][number]" class="form-control k-textbox" placeholder="+1 (999) 999 9999" />
        ...                            

Моя модель просмотра выглядит следующим образом.

 public class PhoneNumberDTO
    {
        public int type { get; set; }
        public string number { get; set; }


    }

 public class AccountCreationDTO
    {
    ....


        public IList<PhoneNumberDTO> phone { get; set; }
    }


Но это не работает. но в параметрах запроса он передается на сервер, как указано ниже.

телефон [1] [тип] 291910 телефон [1] [номер] 2500000

1 Ответ

0 голосов
/ 30 апреля 2019

Полагаю, вы используете ASP.NET MVC.

Полагаю, ваше действие выглядит примерно так:

[HttpPost]
public ActionResult Index(AccountCreationDTO accountCreationDTO)
{
    return View();
}

Я думаю, вам следует убрать вторые квадратные скобки с input имени, как это.

<input name="phone[0].type" value="0" />
<input name="phone[0].number" value="0" />
<input name="phone[1].type" value="1" />
<input name="phone[1].number" value="1" />

Тогда список входит правильно: Here

Дайте мне знать, если это решит вашу проблему. Хотя я думаю, что лучше использовать помощников Razor Html.TextBoxFor() в этих случаях.

(я не уверен, как был инициализирован список phone)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...