2010-09-02 5 views
5

Dies ist eine noob Frage zu teilen, aber ich werde es doch fragen ...mit mvc.net ist es möglich, einen Blick zwischen mehreren Aktionen

Ich will eine Seite erstellen, die grundlegenden CRUD-Operationen tun auf einer Liste der Objekte: -Display der Liste -edit ein Element -create ein Element -delete ein Element

Es suchen ist, wie ich eine Aktion für jede dieser Operationen benötigen. Das ist gut und verständlich. Meine Frage bezieht sich auf die Ansichten für die Interaktion mit dem Benutzer.

Ich möchte In-Place-Bearbeitung haben, so dass der Benutzer auf Bearbeiten klickt und sie können die Details des Elements in der Liste bearbeiten. Nach meinem derzeitigen Verständnis werde ich einen großen Teil der Ansicht zwischen "Zeige die Liste" und "Bearbeiten eines Gegenstands" kopieren müssen. Dies scheint jedoch keine unnötige Redundanz zu sein und macht zukünftige Aktualisierungen zeitaufwendiger, da ich jede Ansicht aktualisieren muss.

Gibt es einen einfacheren Weg? Bin ich auf der richtigen/falschen Spur? Irgendwelche anderen Kommentare?

Antwort

6

Ja, absolut. Sie möchten die Überladung von View() verwenden, die eine Zeichenfolge verwendet. Die Zeichenfolge ist der Name der zu rendernden Ansicht:

public ActionResult MyAction() 
{ 
    return View("MyViewName"); 
} 
0

Ich glaube, was Sie untersuchen sollten, ist das Rendern von Teilansichten, die ähnlich wie UserControls in WebForms sind. Sie sind im Grunde geteilte Teilansichten, die Sie für die gleichen Zwecke in vielen Ansichten verwenden können.

Wenn Sie in der Standardprojektvorlage nachsehen, finden Sie Beispiele für Elemente wie das Login-Steuerelement.

Edit: Und wie andere festgestellt haben, können Sie auch Ansichten zwischen Aktionen teilen. Hatte auch meinen eigenen Noob-Moment. :)

1

Die Methode View() kann den Namen einer Ansicht als Parameter annehmen, sodass Sie dieselbe Ansicht aus mehreren Aktionen rendern können. Standardmäßig (wenn Sie keinen Ansichtsnamen angeben) verwendet das Framework eine Sicht, die als aktuelle Aktion bezeichnet wird. Siehe here for details.

Verwandte Themen