Создайте глобальную переменную в .NET Core 2.0 для использования в видах бритвы - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть кнопка, которая появляется на нескольких страницах в моем приложении. (Страницы, которые вызываются с разных контроллеров.)

<a ... class="btn btn-primary">Complete New Survey</a>

Текст внутри кнопки «Завершить новый опрос» я бы хотел где-то установить в качестве глобальной переменной. Как будто клиент хочет, чтобы это было «Начать новый опрос», мне не нужно искать и заменять его во всем приложении.

Я бы хотел иметь возможность сделать что-то вроде:

<a ... class="btn btn-primary">@GlobalVars["NewSurveyButton"]</a>

И определите его где-нибудь в файле, например:

GlobalVars["NewSurveyButton"] = "Start new survey"

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Вы можете использовать статическую переменную (или переменную const) внутри вашего класса запуска следующим образом:

Прежде всего определите строковую переменную, в которую вы хотите поместить значение метки кнопки:

public static string SharedButtonLabel = "My button shared label";

Тогда внутри вашего бритвенного кода вы можете написать следующее:

<button>@MyProject.Startup.SharedButtonLabel</button>

Где "MyProject" - пространство имен вашего проекта

0 голосов
/ 27 апреля 2018

Вы можете использовать Localization с объектом SharedResource. Такое решение, например: https://github.com/MrSteinster/ASP.NET-Core-Localization

0 голосов
/ 27 апреля 2018

Вы можете создать BaseController, если у вас его нет и использовать OnActionExecuting:

public abstract class BaseController : Controller
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            ViewBag.Text = "Start new survey";
            base.OnActionExecuting(filterContext);
        }  
    }

BaseController простирается от Controller. Все остальные ваши контроллеры теперь должны расширять форму BaseController, чтобы по вашим представлениям у вас был доступ к этому ViewBag.

@ViewBag.Text 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...