Вопрос

Какова рекомендуемая замена ASP.Сетевые серверные элементы управления в ярком новом мире ASP.Net MVC?

На мой взгляд, одна из лучших особенностей ASP.Net - это возможность писать серверные элементы управления (хотя, по общему признанию, модель событий ужасна для работы).Если эти элементы управления самозаполняются, то они могут быть разделены между различными проектами с минимумом хлопот - вы просто ссылаетесь на сборку, в которой находится серверный элемент управления, и переносите его в aspx.Контроль делает все остальное.Это очень хорошо вписывается в Мир виджетов и обеспечивает эффективное повторное использование кода.Как можно добиться того же самого в MVC?

Меня больше всего интересуют самозаполняющиеся элементы управления, которые не отправляют обратную отправку, поскольку я понимаю, что модель обратной отправки определенно не подходит для MVC.Могут ли они по-прежнему быть инкапсулированы в класс, который может быть общим для нескольких различных веб-проектов MVC?Или для этого требуется совершенно другое мышление, при котором контроль не должен заполняют себя, и следует использовать частичные представления?Есть ли способ поделиться частичными представлениями между проектами?

Наконец, могу ли я использовать мои старые серверные элементы управления (без обратной передачи) в проектах MVC?

Это было полезно?

Решение

Вы можете имитировать поведение элементов управления, отличных от post back, с помощью вспомогательных методов расширения Html.Точно так же, как Html.TextBox() и т.д., вы можете написать свои собственные и инкапсулировать их в свой собственный проект, если хотите.

Если вы написали элементы управления, которые просто выводят HTML, преобразовать их в Html-помощники не должно быть так уж сложно.

Другие советы

Самое близкое Asp.Net MVC к серверным элементам управления - это частичные запросы.В частичном запросе вызывается метод действия MVC, и его выходные данные добавляются к текущему представлению.К сожалению, официальная поддержка этого (Html.RenderAction) на данный момент находится в сборке futures.

Если использование сборки futures для вас невозможно, блоггер по имени Стив Сандерсон написал статью о реализации аналогичной функциональности:
http://blog.codeville.net/2008/10/14/partial-requests-in-aspnet-mvc/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top