UserControl в ASP.NET MVC

В приложении, которое мы начали создавать пару дней назад есть дерево, использующее по большей части библиотеку jquery. Естественно, это дерево нужно генерировать динамически, по сути это и есть юзер контрол. По крайней мере хочется сделать его максимально независимым. И требуется этому дереву два массива – ссылок и имён к ним. Встало два вопроса – где формировать эти массивы и как их передавать. Создаются они, понятное дело, в контроллерах, в префильтрах, потому что это логически оправдано на данном этапе, у каждого контроллера своё подменю. А передовать эти массивы удобно через ViewData. Но есть там пару загвоздок, которые меня отвлекли на пару часов. Это описано, в частности, вот тут:

http://aspadvice.com/blogs/name/archive/2008/07/24/Passing-ViewData-to-User-Controls-in-ASP.NET-MVC-Preview-4.aspx

Если вкратце, то — читайте исходники, понимайте суть работы этого фреймворка, и пишите вызов контроллера правильно.

<%=Html.RenderUserControl("~/Views/Shared/MyUserControl.ascx", null, new { DisplayTitle = "Hello World!" })%>

About this entry