In unserer Datenbank gibt es viele Tabellen mit einigen Commons Spalten (Adressspalten). Ich möchte nicht mehrmals den gemeinsamen Spalten Teil kopieren und einfügen. Ich möchte das Formular in 2 Dateien aufteilen, die Hauptvorlage und die gemeinsame Vorlage. Dann benutze das Gemeinsame in eine andere Ansicht.Wie teilen Sie eine ASP.Net MVC-Editor-Formularansicht in zwei oder mehr Dateien auf?
Bitte beachten Sie, dass die gemeinsamen Spalten und anderen Spalten in der gleichen Klasse ist, die gemeinsame ist keine andere Klasse. Ich kann keine Editor-Vorlagen dafür verwenden.
zum Beispiel, nehmen Sie dies:
@model SGD.Models.Fornecedor
@using (Html.BeginForm()) {
@Html.LabelFor(model => model.att1)
@Html.EditorFor(model => model.att1)
@Html.LabelFor(model => model.att2)
@Html.EditorFor(model => model.att2)
@Html.LabelFor(model => model.att3)
@Html.EditorFor(model => model.att3)
@Html.LabelFor(model => model.att4)
@Html.EditorFor(model => model.att4)
}
und in diesen Dateien machen: Hauptansicht
@model SGD.Models.Fornecedor
@using (Html.BeginForm()) {
@Html.LabelFor(model => model.att1)
@Html.EditorFor(model => model.att1)
@// reference to common template
@Html.LabelFor(model => model.att4)
@Html.EditorFor(model => model.att4)
}
Eine häufige Form Teil
@Html.LabelFor(model => model.att2)
@Html.EditorFor(model => model.att2)
@Html.LabelFor(model => model.att3)
@Html.EditorFor(model => model.att3)
Wenn 'att2' und' att3' sind über gemeinsame mehrere Klassen, warum haben Sie keine BaseModel-Klasse, von der die anderen Klassen erben? –
Was hat die Datenbank damit zu tun? Erstelle einfach 'public class BaseModel {public string att2 {get; einstellen; } .....} 'und dann' Fornecedor' erbt von 'BaseModel' (und enthält nur' att1' und 'att4') Dann können Sie' EditorTemplate' für typeof 'BaseModel' erstellen. –
Entschuldigung, ich habe Ihren Kommentar missverstanden. Ich verstehe es jetzt, aber wie kann ich EditorTemplate verwenden, um die aktuelle Klasseninstanz basierend auf der Modellvorlage der Elternklasse zu bearbeiten? Ich kenne EditorTemplates nur, um Unterklassen zu bearbeiten. –