как остановить частичное сохранение статуса сообщения с одной страницы на другую - PullRequest
0 голосов
/ 27 марта 2020

У меня есть бритвенное решение с частичным, которое было включено в шаблонное решение в Visual Studio. Код в частичном коде - это просто сообщение о состоянии, например:

@model string
@if (!String.IsNullOrEmpty(Model))
{
    var statusMessageClass = Model.StartsWith("Error") ? "danger" : "success";
    <div class="alert alert-@statusMessageClass alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        @Model
    </div>
}

На странице на него ссылаются так:

<partial name="_StatusMessage" model="Model.StatusMessage" />

В модели страницы этой страницы введите значение сообщения следующим образом:

       [TempData]
        public string StatusMessage { get; set; }

        public IActionResult OnGet(int regFlow)
        {
            StatusMessage = "Blah blah status message";
            return Page();
        }

Проблема в том, что, хотя сообщение о состоянии отображается нормально на рассматриваемой странице, оно сохраняется, когда я нажимаю на другую страницу, на которой также есть В нем частично объявлено частичное StatusMessage - поэтому оно по-прежнему отображает сообщение, относящееся к предыдущей странице, но совершенно не относящееся к текущей странице. Как я могу предотвратить сохранение сообщения на нескольких страницах?

1 Ответ

0 голосов
/ 27 марта 2020

Вы аннотировали StatusMessage с помощью TempData, поэтому он будет доступен и для следующего HTTP-запроса. Зачем вам нужно аннотировать его с помощью TempData, если оно должно отображаться только на этой странице?

...