Общие переменные в MVC 3 Razor _ViewStart

Я создаю сайт на новом движке Razor, который поставляется с MVC 3 (и мне нравится новый синтаксис!). Однако я не могу использовать с ним общедоступные свойства / константы. Я знаю, что с помощью WebForms мы могли бы добавить публичное свойство в код позади:

public string ImageFolder { get; set; }

Я хотел бы определить важные переменные в одном глобальном месте, к которому мои представления могут получить доступ, начиная с путей к файлам CSS и изображениям:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
    var ContentFolder = "~/Content";
    var CssFolder = ContentFolder + "/Stylesheets";
    var ImageFolder = ContentFolder + "/Images";
}

Я пробовал поместив указанный выше блок кода в _Layout , а также внутри _ViewStart . Однако доступ к ним из дочерних представлений с треском проваливается. Я думал об определении общедоступного свойства в приведенном выше блоке кода, но оно не компилируется.

Решения?

  • Насколько я видел, никто не использует программный код с Razor.
  • Думаю, я смогу унаследовать от представления по умолчанию и определить свои свойства там (как описано в Stack ).

Но я очень надеюсь, что должен быть более простой способ сделать что-нибудь настолько простое?

6
задан Community 23 May 2017 в 10:33
поделиться