У меня есть раздел моего сайта, который требует глобальных данных для падения навигации вниз, прямо сейчас я делаю следующее внутри атрибута:Лучший способ генерации глобальных ViewData?
ViewData["projects"] = new[]
{
new ProjectNav { Id = 1, Name = "Big project in New York" },
new ProjectNav { Id = 2, Name = "Small project in New Jersey" },
new ProjectNav { Id = 3, Name = "Big project in Florida" },
}
Я тогда разметка моих методов контроллера, как это:
[ProjectNav]
public ActionResult Index()
{
// strongly typed view returned here
}
И на мой взгляд, я хотел бы сделать что-то вроде этого:
<% foreach (ProjectNav project in (IEnumerable<ProjectNav>)ViewData["projects"])
{ %>
// Enumerate here
<% } %>
Это работает, но есть в любом случае сделать это в большей степени типизированный путь? Единственное, о чем я могу думать, это создать Dto с материалом ProjectNav в качестве члена, но тогда вы создаете отдельное Dto для каждого из методов контроллера, и это определенно не СУХОЙ. Есть ли лучший способ сделать это, что я просто отсутствую?
+1, RenderAction - ваш друг в этой ситуации. – mxmissile