2010-12-11 12 views
0

Ich habe ein Objekt wie dieseVorlage erstellen für komplexes Objekt

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

Für die Klasse Namen ich stark typisierte Ansicht bin Erzeugung basierend auf [Vorlage erstellen]. Aber wenn es generiert wird, zeigt es nur Eingabe-Steuerelemente für FristName und Nachname. Wie kann ich eine Ansicht erstellen, die auch Standorte von der HTML-Seite abrufen kann? So kann ich einfach Daten vom Senden-Button speichern.

Meine Form ist wie dieses

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

Wie Sie Benutzer sehen kann dynamisch City und Zip erstellen. Ich bin mir jetzt sicher, wie viele er schaffen wird. Wie kann ich solch ein Objekt aus meiner Sicht bekommen? Kann ich ein solches Objekt automatisch erhalten? Außerdem möchte ich Validierungen anwenden.

+0

Können Sie klarer darlegen, was Sie erreichen möchten? Ich nehme an, Sie möchten ein Formular rendern, aber geben Sie Daten mit Ihrem Objekt weiter? – Paul

+0

Bitte chk den aktualisierten Code. – coure2011

Antwort

0

Wenn Sie versuchen, einen Editor ein für jeden Standort wollen, können Sie eine Schleife durch die Eigenschaft Standorte in Ihrer Ansicht:

Rest Ihrer Ansicht ...

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

Setzen Sie Ihre Ansicht.

Verwandte Themen