Динамическое создание полей привязки к модели - PullRequest
0 голосов
/ 17 января 2019

Я динамически создаю 2 текстовых поля по нажатию кнопки добавления. Один для имени и один для фамилии.

Вот что я имею в своей модели:

public List<UserName> FullName{ get; set; }

Ниже приведено описание типа имени пользователя:

public class UserName
{        
    public string firstName { get; set; }

    public string lastName{ get; set; }
}

Для firstNames у меня есть имя текстового поля как firstName, а для lastName у меня есть имя текстового поля как lastName. Не уверен, как связать все это с тем, где, когда я отправляю, это будет показано как часть списка FullName

1 Ответ

0 голосов
/ 17 января 2019

Вам необходимо включить информацию об индексировании для вашего input / TextBox в представление, чтобы связыватель модели MVC знал, как поместить их обратно в список, например:

<input type="text" name="[0].FirstName" value="" />
<input type="text" name="[0].LastName" value="" />

<input type="text" name="[1].FirstName" value="" />
<input type="text" name="[1].LastName" value="" />

Или вы можете использовать цикл:

@for (int i = 0; i < 3; i++) 
{ 
    @Html.TextBoxFor(m => m[i].FirstName)
    @Html.TextBoxFor(m => m[i].LastName)
}

См. статью Фила Хаака для получения дополнительной информации.


Примечание. Я переименовал имена ваших общих свойств firstName / lastName, чтобы использовать PascalCase вместо camelCase.

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