2011-06-16 3 views
1

J'ai deux modèles:Comment ajouter dynamiquement dans la zone de texte MVC 3

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; } 
} 

Est-il possible avec MvcScaffolding, être généré automatiquement Voir Contact-> Créer avec textbox dynamique pour le courrier électronique sur le terrain?
Par exemple, lorsque vous saisissiez l'e-mail dans la première zone de texte, les éléments suivants créaient une autre zone de texte, etc.

Répondre

2

Dans votre modèle, définissez le champ E-mail comme Liste.

Si vous définissez les noms comme suit, le liant modèle mvc remplira automatiquement votre liste lors de la publication:

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

et ainsi de suite. Je suppose que vous utilisez jquery ou quelque chose de similaire pour ajouter dynamiquement les zones de texte, il suffit donc de définir le nouveau nom de zone de texte égal au nombre total - 1. Et si vous voulez autoriser l'utilisateur à supprimer l'une des zones de texte, Je vais devoir revenir en arrière et recalculer les noms et leur index.

Questions connexes