Ich habe in letzter Zeit mit ASP.NET MVC und Javascript/jQuery viel gearbeitet und ich scheinen in eine Richtung zu gehen, in der ich immer passieren muss etwas dynamischer Wert "zu" meinem Javascript. Wenn das Skript direkt in der Seite ist, habe ich so etwas getan:Best Practices für die Weitergabe von Daten von asp.net-mvc zu Javascript
var isEditable = <%=ViewData["editable"]%>
Ich mag, wie das ist schnell & einfach und genau wie ich einen Wert in HTML injizieren würde. Aber das riecht. Wirklich, wirklich schlimm. Und es unterbricht Visual Studio's Intellisense- und Code-Formatierung, wodurch meine Skripte schwer zu lesen und zu verstehen sind.
Es hat mir einfiel andere Lösung wäre, um meine Daten zu einem versteckten Feld zu passieren, und haben die Javascript-Referenz, die ...
<input type="hidden" id="editable" value="<%=ViewData["editable"]%>" />
var isEditable = $("#editable").attr("value");
Dies ist wahrscheinlich viel besser als es das Skript intakt hält und würde es mir erlauben, es in eine externe .js-Datei zu verschieben. Aber etwas an dieser Lösung scheint auch nicht ideal zu sein. Oder ist es nur ich?
Kann jemand empfehlen Lösungen & Best Practices für die Weitergabe von Daten in Ihre Skripts? Gehe ich auf den falschen Weg, wenn meine Skripts in erster Linie die Viewdaten von meinen Controllern verlassen?
Wie wäre es mit Daten aus dem Modell in eine Art von Datenspeicher in der Steuerung mit AJAX "ziehen"? – Janie
Ich denke, AJAX wäre in der Art von Fällen, die ich beziehe, zu viel ... Meine Skripte müssen in der Regel nur ein paar Daten vom Controller/Modell (Daten, die bereits auf der ersten Seite Ausführung vorhanden ist) so wissen um einen anderen Netzwerk-Call-Back einen Controller auszugeben scheint ein bisschen viel. –