Динамическое добавление ViewUserControl в ASP.NET MVC - PullRequest
1 голос
/ 02 июня 2009

Мне интересно, есть ли какие-либо известные проблемы с добавлением ViewUserControl во время выполнения (в ViewPage). Это работает нормально, если я добавляю элемент управления в произвольном порядке, но нет, если я добавляю элемент управления программно (в данном случае в файле кода). Я не получаю сообщение об ошибке, он просто не отображает элемент управления, но пошаговое выполнение отладчика подтверждает, что вызываются соответствующие методы в жизненном цикле страницы.

Я понимаю, что использование кода с файлом в ASP.NET MVC не совсем кошерно, но у меня есть причины для этого.

Ответы [ 2 ]

5 голосов
/ 02 июня 2009

Отправьте список элементов управления, которые вы хотите загрузить, и передайте его представлению модели.

Действие контроллера:

var controlsToLoad = new List<string>();
controlsToLoad.Add("foo");

return View(controlsToLoad);

Вид:

<% foreach (var control in Model as List<string>) { %>
    <% Html.RenderPartial(control); %>
<% } %>

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

0 голосов
/ 02 июня 2009

Или, если вам нужны другие функциональные возможности, вы можете получить более изящное и обернутое выше предложение в методе расширения для вашего класса ViewPage - метод расширения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...