2016-11-03 5 views
0

Ich konvertiere ein Projekt von ASP.net Forms in ASP.Net MVC Core.Mehrere Zeilen von Daten speichern und veröffentlichen ASP.Net MVC

Betrachten Sie das folgende Formular aus: enter image description here

ich einen neuen Empfänger zu schaffen, und dass Empfänger können mehrere Kontaktmethoden haben.

Der Kontakt Methoden auf die Schaltfläche Hinzufügen die folgenden Modal bringt: enter image description here

In meiner ASP.Net Forms-Anwendung, ich hatte eine Tochter, und habe ich nur noch ein neues Element mit dem Repeater, und dann, wenn das Formular gesendet wurde, würde ich die Zeilen des Repeaters durchlaufen und meine Datenbank füllen.

Wie würde man das in MVC tun? Erstelle ich einfach eine HTML-Tabelle und wiederhole diese Zeilen?

Ich bin neu in MVC, also bin ich mir nicht sicher, wie hier vorzugehen ist.

als Referenz hier ist mein Datenmodell für den Empfänger und die Kontaktmethoden:

public class Recipient 
{ 
    [Key] 
    public Guid RecipientGUID { get; set; } 

    public string FirstName { get; set; } 

    public string LastName { get; set; } 

    public string Company { get; set; } 

    public UserGroup Owner { get; set; } 

    public List<ContactMethod> ContactMethods { get; set; } 

    public User CreatedBy { get; set; } 

    public DateTime CreatedOn { get; set; } 

    public User LastModifiedBy { get; set; } 

    public DateTime LastModifiedOn { get; set; } 

    public bool IsActive { get; set; } 

} 

Kontakt Methoden:

public class ContactMethod 
{ 
    [Key] 
    [HiddenInput(DisplayValue = false)] 
    public Guid ContactMethodGUID { get; set; } 

    [Required(ErrorMessage = "Please specify a type.")] 
    public ContactMethodType Type { get; set; } 

    [Required] 
    public Recipient Recipient { get; set; } 

    public int CountryCode { get; set; } 

    [Required(ErrorMessage = "Please enter a identifier.")] 
    public string Identifier { get; set; } 

    public bool IsPreferred { get; set; } 
} 
+0

Siehe [diese Antwort] (http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple-times -data-to-controller/28081308 # 28081308) für Optionen zum dynamischen Hinzufügen von Sammlungselementen –

Antwort

2

Sie verwenden Razor-Syntax in Ihrer .cshtml View-Datei.

<table> 
@foreach var recipient in model.Recipients 
{ 
    <tr><td>@recipient.FirstName</td></tr> 
} 
</table> 

ein ASP.NET MVC Razor Tutorial nachschlagen

+0

@ recipient.FirstName – James

+1

@Ya Ich dachte, weil ich in einem @ {// code} -Block bin, brauche ich nicht das @. .. –

+0

Danke dafür, aber wie würde ich der Sammlung eine neue Zeile hinzufügen? Kann Rasiermesser das tun? Oder muss ich den Controller anrufen und die Daten zurücksenden? So habe ich einen Empfänger, und ich möchte ein Telefon und eine E-Mail zu ihrer Kontaktliste hinzufügen. das ist der Teil, der mich erreicht. – MarekT