2015-05-19 7 views
5

Muszę odczytać ustawienia aplikacji web.config w metodzie sterownika MVC i przekazać je do przeglądania i dostępu do ustawień kontrolera i usługi angularjs. Zastanawiam się, czy przeglądać ustawienia aplikacji i przygotować słownik z parami klucz/wartość i przekazać mu obiekt modelu do mojego widoku. Ale jak mogę uzyskać do nich dostęp w dowolnym miejscu w kanciastej aplikacji?Jak odczytać ustawienia web.config w metodzie kontrolera MVC i uzyskać do nich dostęp w widoku, kontrolerze i usłudze angularjs?

+1

Może to pomoże - http://stackoverflow.com/questions/1197101/best-practices-for-passing-data-from-asp-net-mvc-to-javascript –

Odpowiedz

3

Droga robię tego rodzaju rzeczy jest dość dużo, tak jak sugerują (używając Json.NET i Razor):

  1. przygotować słownika lub obiektu wykresu z danymi chcę udostępnić.
  2. Prześlij dane jako część ViewModel ze sterownika do widoku
  3. Serializuj dane ViewModel, wstrzykując je do szablonu cshtml jako globalną zmienną JavaScript. Muszę skorzystać z następującej sztuczki, aby uzyskać to do pracy:
<script> 
    var AppSettings = (function(o) { 
     return o; 
    })(@Html.Raw(JsonConvert.SerializeObject(Model.AppSettings))); 
</script> 
  1. Załóż kątową serwis, który czyta (i kopie) globalną zmienną JavaScript.
  2. Klienci danych uzyskują do niego dostęp za pośrednictwem usługi kątowej.

Usługa jest cienkim opakowaniem, chociaż czasami zawiera logikę i metody dostępu. Wartość tutaj polega na tym, że uzyskujesz dostęp tylko do zmiennej globalnej ("brudna" praktyka w kątowym świecie) tylko z jednego miejsca w kodzie. "Kapsuł brzydkie rzeczy!"

Uwaga: wymaga to, aby Twoja aplikacja kątowa była obsługiwana z witryny MVC za pośrednictwem szablonu cshtml.

Zaletą tego podejścia do wykonywania wywołania AJAX jest to, że dane są dostępne natychmiast po uruchomieniu aplikacji kątowej ... dane są dostępne za pośrednictwem usługi synchronicznie. Upraszcza to dostęp do danych. Jeśli asynchrony są w porządku, sugerowałbym wykonanie połączenia AJAX z usługi, buforowanie wyniku i zwrócenie obietnicy. Dzięki podejściu AJAX nie istnieje sprzężenie między szablonem kątowym a projektem MVC, co pozwala na obsługę szablonu kątowego jako zwykłego pliku HTML.

0

jeśli nie używasz widoku mvc asp.net, możesz wysłać zapytanie ajax uzyskać konfigurację końca serwera, konfigurację odczytu końcowego serwera dla tego żądania ajax.

Powiązane problemy