2009-07-01 10 views
0

Ich habe eine Ansicht, die eine Liste eines Objekts und für jedes Objekt in dieser Liste eine Teilansicht generieren.Wie kann ich ein Objekt in ASP.NET MVC veröffentlichen?

Es ist ein Suchergebnis wie Google. Jedes Ergebnis wird in ein Formular eingepackt und jedes Ergebnis erhält seinen "Speichern" -Button.

Also, wenn ich ein Formular posten, werde ich den Benutzer auf eine andere Seite führen, wo er das von ihm gewählte Ergebnis bestätigen wird.

Einige Iten des Ergebnisses Ich kann sie in ausgeblendeten Feldern speichern und sie in einer FormCollection an diese andere Seite übergeben.

Aber ich habe mich gefragt, ob es eine Möglichkeit gibt, dieses Ergebnisobjekt per Post zu übergeben, anstatt verborgene Felder (?) Zu erstellen.

Vielen Dank !!

Antwort

2

Hmmm, ich denke, die Antwort ist wahrscheinlich "nein", aber werfen Sie einen Blick auf TempData und sehen, ob das den Trick machen könnte.

1

Wie wäre es, sie in der Datenbank zu speichern und eine Ressourcen-ID wie eine GUID dem Ganzen zuzuordnen und nur zu veröffentlichen?

1

Sie können eine benutzerdefinierte serialize Methode in JS schreiben und dann in einem versteckten Feld das serialisierte Objekt stopfen, wie folgt aus:

<script type="text/javascript"> 
    object; // from your search 
    var serialized = serialize(object); 
    $("#objectHidden").val(serialized); 
</script> 

Dann auf der Seite ASP.NET MVC, würden Sie eine benutzerdefinierte schreiben Deserialize () Verfahren und deserialisieren es in das gewünschte Objekt:

public ActionResult foo(FormCollection form) 
{ 
    MyObject object = MyObject.Deserialize(form["objectHidden"]); 
} 

Dieser Code ist schnell und schmutzig, aber ich hoffe, dass es die Idee vermittelt.

+0

Aber wie kann ich in JS das Objekt bekommen? – AndreMiranda

+0

Es tut mir leid, ich verstehe nicht, was Sie fragen. Wo willst du dieses Objekt hinbringen? Vom JavaScript-Formular zum C#? Oder von JS zu C# zu JS? – cdmckay

Verwandte Themen