2010-12-11 24 views
0

J'ai un objet comme celui-ciCréer un modèle pour objet complexe

public class Locs 
{ 
    public string City {get; set; } 
    public int Zip {get; set; } 
} 

public class Names 
{ 
    public string FirstName {get; set; } 
    public string LastName {get; set; } 
    public Locs[] Locations {get; set; } 
} 

Pour les noms de classe, je suis la génération Voir fortement typé basé sur [Créer un modèle]. Mais quand il l'a généré, il n'affiche que les contrôles d'entrée pour FristName et Last Name. Comment puis-je créer une vue qui peut également obtenir des emplacements de la page html? Alors que je peux facilement enregistrer des données à partir du bouton Soumettre.

Ma forme est comme ce

<input type="text" id="FirstName" name="FirstName" /> 
<input type="text" id="LastName" name="LastName" /> 
<p> 
    <input type="text" id="City1" name="City1" /> 
    <input type="text" id="Zip1" name="Zip1" /> 
</p> 
<a href="#" onclick="a function which will add more <p> containing inputs">Add more locations</a> 

Comme vous pouvez le voir L'utilisateur peut créer dynamiquement la ville et Zip. Je suis maintenant sûr combien il va créer. Comment puis-je obtenir un tel objet à mon avis? Puis-je obtenir un tel objet automatiquement? Aussi je veux appliquer des validations.

+0

Pouvez-vous être plus clair sur ce que vous essayez d'accomplir? Je suppose que vous voulez rendre un formulaire, mais transmettez-vous des données avec votre objet? – Paul

+0

S'il vous plaît chk le code mis à jour. – coure2011

Répondre

0

Si vous essayez d'afficher un un éditeur pour chaque emplacement, vous pouvez parcourir les emplacements propriété dans votre vue:

reste de votre vue ...

<% for (int i = 0; i < Model.Locations.Count; i++) 
{ %> 
<%= Html.TextboxFor(model => model.Locations[i].City) %> 
<%= Html.TextboxFor(model => model.Locations[i].Zip) %> 
}%> 

Continuez votre vue.