Ich muss web.config appsettings in MVC-Controller-Methode lesen und sie übergeben, um die Einstellungen in Angularjs Controller und Service anzuzeigen und zuzugreifen. Ich denke, die Appsettings durchzulaufen und ein Wörterbuch mit Schlüssel/Wert-Paaren vorzubereiten und ein Modellobjekt an meine Ansicht zu übergeben. Aber wie kann ich überall in der eckigen Anwendung darauf zugreifen?Wie liest man die web.config-Einstellungen in der MVC-Controller-Methode und greift auf diese in angularjs view, controller und service zu?
Antwort
So wie ich diese Art der Sache zu tun ist ziemlich einfach, wie Sie vorschlagen (JSON.net und Rasiermesser):
- ein Wörterbuch oder Objektdiagramm mit den Daten bereite ich zur Verfügung stellen möchten.
- Daten als Teil des ViewModels vom Controller an die Ansicht übergeben
- Serialisieren Sie die ViewModel-Daten, indem Sie sie als globale JavaScript-Variable in die Vorlage
cshtml
einfügen. Ich habe den folgenden Trick verwenden, um diese an der Arbeit:
<script>
var AppSettings = (function(o) {
return o;
})(@Html.Raw(JsonConvert.SerializeObject(Model.AppSettings)));
</script>
- Einen Winkel Dienst, der (und Kopien) den globalen JavaScript-Variable liest.
- Clients der Daten greifen über den eckigen Dienst zu.
Der Dienst ist nur ein dünner Wrapper, obwohl er manchmal Logik und Zugriffsmethoden enthält. Der Wert hier ist, dass Sie nur auf die globale Variable (eine "schmutzige" Praxis in der eckigen Welt) von nur einer Stelle in Ihrem Code zugreifen. "Verkapsele das hässliche Zeug!"
Hinweis: Dies erfordert, dass Ihre eckige App von der MVC-Website über eine cshtml
Vorlage bereitgestellt wird. Der Vorteil dieses Ansatzes gegenüber einem AJAX-Aufruf besteht darin, dass die interessierenden Daten direkt verfügbar sind, wenn die eckige App bootstrapped wird ... die Daten können über den Dienst synchron erreicht werden. Dies vereinfacht den Zugriff auf die Daten. Wenn Asynchronität in Ordnung ist, würde ich vorschlagen, einen AJAX-Anruf von Ihrem Dienst zu tätigen, das Ergebnis zwischenzuspeichern und ein Versprechen abzugeben. Mit dem AJAX-Ansatz gibt es keine Kopplung zwischen der eckigen Vorlage und Ihrem MVC-Projekt, so dass Sie Ihre eckige Vorlage als einfache HTML-Datei verwenden können.
Wenn Sie nicht asp.net MVC-Ansicht verwenden, können Sie eine AJAX-Anfrage senden Server-Endkonfiguration senden, Server-End-Konfiguration für diese AJAX-Anfrage lesen.
- 1. Wie greift man auf den View-Controller eines Super zu?
- 2. Service und Controller in Angularjs
- 3. Wie integriert man die API von PayPal und greift auf Benutzerinformationen in der iPhone App zu?
- 4. Initial View Controller und Tab View Controller
- 5. Zwei Controller und 1 View in Laravel
- 6. Service-Injektion in Controller AngularJS
- 7. -View-Controller und Selbst
- 8. Injection $ log in jeden Controller und Service
- 9. ASP.net MVC - Wie greift die Ansicht auf das Modell zu?
- 10. wie man Textakte liest und Daten in der Arrayliste speichert
- 11. Wie man Controller und Service von AngularJS korrekt in ng-resource umwandelt
- 12. Call-Controller-Funktion aus Service in angularjs
- 13. ios: Wie man einen Modal View Controller ausschaltet und dann einen Pushed View Controller öffnet
- 14. Wie greift diese App auf Google Mail zu?
- 15. AngularJS Modul und Controller
- 16. angularjs Controller und Module
- 17. Zugriff auf Controller-Werte in View mit AngularJS
- 18. Wie kann ich angularjs Service in Controller in Typoskript hinzufügen
- 19. AngularJS Service-Update-Controller Variable
- 20. angularjs ng-view mit externem Controller
- 21. Wie benutzt man $ document service in angularJS?
- 22. Unterschied zwischen Service-Schicht und Controller in der Praxis
- 23. Wie erhält man zwei Eingaben und greift auf Objekte und Methoden einer Klasse zu?
- 24. Wie kann ich die angularjs-Versprechungskette in einem Service und Controller verwenden?
- 25. AngularJS Service Vars in allen Controller-Vorlagen
- 26. Wie liest man die Abfragezeichenfolge in PHP und HTML?
- 27. Übergeben Variable von Controller zu Service angularjs
- 28. Wie man die Ansicht und den Controller in Swing koppelt
- 29. Wie Aufruf Funktion mit Parametern vom Controller in Sicht und wie diese Funktion zu Direktive in angularjs zu binden
- 30. AngularJS, $ http.get() und "controller as"
Vielleicht kann Ihnen das helfen - http://StackOverflow.com/Questions/1197101/best-practices-for-passing-data-from-asp-net-mvc-to-javascript –