MVC3 (Razor), Die Modell-Daten vom View zum Controller
Muss ich wissen, ob es einen Weg gibt, passieren Sie das Modell (oder ein Teil davon, d.h. danach eine Suche query) Daten aus einer Ansicht (Razor Engine) zu einem Controller.
Erklären besser was ich zu tun habe, das ist der interessiert-code:
ANZEIGEN:
@model IEnumerable<MvcMovie.Models.Movie>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
...
@foreach (var item in Model) { ...}
...
@Html.ActionLink("Search", "SearchIndex")
@Html.ActionLink("Create Document", "createDoc"/*, new { id = Model.ToList() }*/)
Möchte ich weitergeben die
@model IEnumerable<MvcMovie.Models.Movie>
in der ersten Zeile (= Modell wird in der foreach-Anweisung) an die Steuerung "createDoc" einen Bericht zu erstellen, Dokument dynamisch verknüpft mit der Ansicht.
Ich habe alles versucht: ich habe versucht, eine ViewData (ANSICHT: ViewData["data"]=Model -, CONTROLLER-Liste der Filme= ViewData["Daten"]), habe ich ebenso versucht, eine TempData, ich habe versucht, übergeben Sie das Modell als routeValues in den ActionLink (wie man sieht: der new{ id= Modell.toList() }), aber nichts funktionierte.
Ist es sogar möglich, das zu tun, was ich möchte?
Kann mir jemand helfen?
InformationsquelleAutor Jack88PD | 2012-06-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die wissen, was Sie wollen... aber mit diesem code
Ihre html ist..
und das ist, weil das Rendern der Typ nicht die Daten
Lösungen
definieren Sie filter, Modell, führen Sie die Suche erneut(die Empfehlung von jeremy-holovacs und mir)
warum fragt der server die gleichen Daten wieder? denn wenn jemand teilt diesen link... können Sie sich vorstellen, was es ist, das Ergebnis selbst injizieren, gefälschte Daten, die die app generiert
Daten serialisieren zu json zum Beispiel um Weiterleitung an den controller
InformationsquelleAutor Zach dev
Ihrem Modell sollte nicht
IEnumerable<MvcMovie.Models.Movie>
Es sollte eine Klasse sein, sagenSearchMovieModel
hatIEnumerable<MvcMovie.Models.Movie> Movies
als eine seiner Eigenschaften.Wenn Sie möchten, eine Suche Modell, sowas wäre geeignet:
verweisen Sie auf dieses Modell und seine Eigenschaften in der view und controller.
Ich denke, ich sollte hinzufügen, die Methode für die Analyse dieser in die controller.
Beim ersten Aufruf der Ansicht, das Modell existiert nicht. Sie müssen es schaffen, in Ihrem controller:
"Reconvert" die POST-Daten zurück zu einem Modell, müssen Sie die Modell-und-Methode:
InformationsquelleAutor Jeremy Holovacs