Объявить ViewBag на контроллере - PullRequest
2 голосов
/ 29 марта 2012

Я использую ViewBag.Message с одним и тем же сообщением несколько раз в методах на контроллере.Можно объявить ViewBag.Message в верхней части класса, поэтому можно использовать во всем контроллере без повторения кода?

1 Ответ

3 голосов
/ 29 марта 2012

Предполагая синтаксис Razor, вы можете достичь этого с помощью.

@{string pageMessage = ViewBag.Message.ToString();}

тогда pageMessage - это локальная переменная, доступная странице, например:

<h1>@pageMessage</h1>

EDIT

ViewBag - это динамический объект, который является членом базового класса Controller, поэтому, просто указав это один раз во всем контроллере, вы можете поместить что-то в конструктор контроллера.

public class MyController : Controller
{
        public MyController()
        {
            ViewBag.ViewTime = DateTime.Now.ToString();
        }

        // rest of controller code
}
...