Vorbei JSON-serialisierten Daten per hidden-Feld
In ASP.NET WebForms möchte ich weitergeben, beliebige Daten vom server zum client und wieder zurück. Ich bin JSON serialisiert und wurden einfach produzieren der JavaScript-Code enthält, erstellt das Objekt auf dem client. Ich habe kein problem, das senden von Daten an den server mit ajax, aber es gibt Situationen, in denen ich auch wollen, senden Sie ein Javascript-Objekt, das Daten an den server zurück auf postbacks. Also ich denke, es muss in ein verstecktes Feld.
Ein paar Allgemeine Fragen zu diesem.
1) Was ist der beste Weg, dies zu tun im Hinblick auf die Minimierung der Komplexität und der Optimierung von Raum und Effizienz? Bei der recherche zu diesem entdeckte ich Protocol Buffers aber es scheint nicht zu einem guten C# - Implementierung. Ich fand eines, aber es war ein paar Jahre alt, und selbst beschrieben als buggy, so dass mir Angst.
2) Wenn ich einfach einen JSON-string, wie kann ich sicher sein, es wird sicher sein, um so den Wert für ein hidden-Feld? Gibt es einen Grund, könnte ich dies nicht tun wollen? Ich könnte Base64-Kodieren, aber es scheint, wie dies fügt eine Menge Aufwand. Was gilt als die beste oder bevorzugte Methode?
- Warum bist du nicht mit session-Variablen? (nur neugierig)
- Wie kann ich die Daten vom client (in javascript)?
- Handler und AJAX, die gleiche Weise, die Sie posten es wieder? (ashx/asmx)
- Ajax ist in Ordnung, und ich konnte Feuer aus einem ajax-Aufruf vor einer Seite gepostet habe, nehme ich an, aber wenn es gebucht wird, wie auch immer, das scheint eine unnötige Reise an den server. Und es ist etwas, was ich sonst noch hätte abfangen können.
- Ich glaube, ich muss mehr Einblick in das "ursprüngliche problem", bevor Sie eine Entscheidung. Empfehlen kann ich Methoden den ganzen Tag, die Kontur zu dem, was Sie bereits als geeignet, das hilft aber nicht, Sie lösen das ursprüngliche problem an der hand.
- Vielleicht gebe ich zu viel detail. Ich wollt eigentlich nur Vorschläge auf dem besten Weg zu übergeben komplexe Daten vom client (Javascript) an den server auf eine POST, ohne dass eine separate ajax-call. Wenn die Daten in einem versteckten Feld erscheint wie eine Voraussetzung, so was ist der beste Weg, um zu verschlüsseln, damit es sicher ist, kompakt, und kann un-codiert C# - code auf dem server?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Vergangenheit, ich habe in der Regel Folgendes getan:
So, ich bin mir nicht sicher, was Sie versuchen zu gewinnen, durch Codierung, aber ich denke, dass die Kosten der Transformation des Objekts aus JSON (oder XML), um etwas kleiner ist zu viel Aufwand für Verpackung/verkleinern nutzen. (Es sei denn, Ihr ein super-high-traffic-Website besorgt Sie mehr über Bandbreitennutzung als server - /client-seitige Verarbeitung.)
BEISPIEL
Ich hoffe, dies gibt Ihnen eine Vorstellung davon, wie dies zu erreichen. Lassen Sie mich wissen, wenn Sie haben keine Fragen mehr.