2010-01-26 18 views

Odpowiedz

23

Ty powinien móc po prostu użyć

<%= ConfigurationManager.AppSettings["FileServer"] %> 

w widoku.

Nawiasem mówiąc, ConfigurationSettings jest przestarzała - należy użyć ConfigurationManager

+3

Nieznaczne segue ale skoro to jest poprawna odpowiedź, Chciałbym tylko dodać, że każde użycie magii ciągi w aplikacji (a na pewno wyświetleń) jest nieco śmierdząca i chciałbym rozważyć użycie klasa otoki fasady w ustawieniach aplikacji, aby tego uniknąć. Połączenia takie jak '<% = App.FileServer%>' są o wiele ładniejsze! –

+5

Pamiętaj, aby zaimportować konfigurację System.Configuration na górze strony @ using System.Configuration (MVC) lub <% @ Import namespace = "System.Configuration"%> dla formularzy internetowych – Keith

4

Wpisz wartość do TempData ["MyVariableName"] za pomocą metody AppSettings ["MyVariableName"], a następnie wpisz wartość TempData w widoku.

W kontrolerze:

TempData [ "fileserver"] = ConfigurationSettings.AppSettings [ "fileserver"]

W widoku:

1

Można to zrobić w ten sam sposób, ale to jest złą praktyką. Powinieneś przygotować wszystkie dane do wyświetlenia w kontrolerze i przekazać je do widoku.

Przekazywanie danych do widoku przez ViewData Collection lub tworzenie widoku maszynowego.

Możesz sprawdzić więcej na ten temat here.

+1

Hej, przyszedłem z przyszłości! Link jest uszkodzony. Czy to coś takiego? http://weblogs.asp.net/scottgu/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views – Malavos

+0

Tak, to może być :) – dariol

+0

jeśli nie masz nic przeciwko , Zasugerowałem edycję. Ta odpowiedź znajduje się na pierwszej stronie wyników Google. – Malavos

5

Inny wzór, użyj AppSettingsExpressionBuilder.

<asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: sample%>" /> 
Powiązane problemy