Как динамически добавить текстовое поле в MVC 3 - PullRequest
1 голос
/ 16 июня 2011

У меня есть две модели:

public class Contact
{
    public Guid ContactId { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

}

public class Email
{
    public Guid EmailId { get; set; }

    [Required]
    [DataType(DataType.EmailAddress)]
    public string Name { get; set; }

    public Guid ContactId { get; set; }
}

Возможно ли с помощью MvcScaffolding автоматически генерировать View Contacts-> Create with динамическое текстовое поле для электронной почты в поле?
Например, при вводе электронного письма в первом текстовом поле, следующее создало другое текстовое поле и т. Д.

1 Ответ

2 голосов
/ 28 июня 2011

В вашей модели сделайте поле электронной почты списком.

Если вы установите имена следующим образом, связыватель модели mvc автоматически заполнит ваш список при обратной передаче:

<input name="Emails[0]" type="text" />
<input name="Emails[1]" type="text" />
<input name="Emails[2]" type="text" />

итак далее.Я предполагаю, что вы используете jquery или что-то подобное для динамического добавления текстовых полей, поэтому просто установите имя новых текстовых полей равным общему количеству - 1. И если вы хотите позволить пользователю удалить любое из текстовых полей, вы 'Мне придется вернуться и пересчитать имена и их индекс.

...