Я все еще изучаю движок Razor ASP.NET MVC3 и пытаюсь понять, как сделать что-то, что кажется невероятно простым .
У меня есть статический класс, который инкапсулирует метод, который вызывает сторонний API.Моя _Layout.cshtml
главная страница вызывает статический класс, например,
if(@Rf.Models.PageContent.GetSomething().IsSomethingHappening) {
<span>@Rf.Models.PageContent.GetSomething().Name</span>
}
Как вы видите, я дублирую усилия (и вызываю сторонний API) из моего статического класса PageContent., метод GetSomething - который возвращает класс.
В обычном старом MVC2 я бы сделал что-то вроде этого:
<% var obj = Rf.Models.PageContent.GetSomething();
if(obj.IsSomethingHappening) { %>
<span><%=obj.Name%></span>
<% } %>
..., который не дублирует усилия.
Я хочу вызвать PageContent.GetSomething () один раз, сохранить его и ссылаться на него, если мой флаг имеет значение true.Я не хочу снова вызывать PageContent.GetSomething (), если мой флаг имеет значение true.
Это может быть очень простой вопрос, но я немного застрял в том, как этого добиться.Как я могу дублировать такую же функциональность из движка Razor?