Использование веб-элементов управления вместо веб-форм - PullRequest
9 голосов
/ 24 июня 2010

Я использую ASP.NET (C #) в течение последних двух лет.Я многому научился, но многое еще предстоит узнать:)

Я использовал MasterPages, «Веб-элементы управления» для таких вещей, как заголовки, навигация, нижние колонтитулы и т. Д.

Одна вещьЯ никогда по-настоящему не понимал, практикуется ли использование веб-элементов управления для вашего контента и логики:

Home.aspx ------ Home.ascx
AboutUs.aspx ----- AboutUs.ascx
Ordering.aspx ---- Ordering.acsx

В течение последних нескольких месяцев я работал с несколькими проектами, использующими эту структуру.Я знаю, что на самом деле это обычная практика, но я не совсем понимаю все преимущества.

Я помню, когда я пробовал этот подход раньше, и в итоге у меня были ужасные проблемы с состоянием представления с такими элементами управления, как Gridview ... однаждыЯ взял всю логику и поместил ее на страницу .aspx, все работало нормально.

Теперь я понимаю, что, возможно, мне нужно было добавить Gridview в коллекцию viewstate ... но это только усиливает мои трудности в пониманиипочему используется этот подход - учитывая проблему состояния представления.

Я полностью понимаю преимущества «элементов управления веб-пользователями» по отношению к таким вещам, как верхние колонтитулы, меню, нижние колонтитулы и т. д. везде, где требуется дублирование, но проекты, которые яУ нас были страницы / элементы управления, которые довольно специфичны - другими словами, вряд ли их можно использовать где-либо еще - страница aspx просто содержит элемент управления (.ascx) с содержимым и логикой, и она будет использоваться только на этой странице, нигдеостальное.

Не обращая внимания на повторное использование кода, чтоее преимущества дает этот подход?

Ответы [ 2 ]

5 голосов
/ 24 июня 2010

Пользовательские элементы управления используются внутри веб-форм ... они не используются для замены


Редактировать:

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

2 голосов
/ 24 июня 2010

Я думаю, что ваш пример PageA.aspx -> PageA.ascx на самом деле является плохим примером для освещения преимуществ веб-элементов управления.Сделайте шаг назад от этих примеров «управления страницами» и подумайте об основной цели управления веб-пользователями.Они служат для инкапсуляции пользовательского интерфейса и функциональности в отдельном блоке.

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

Другое менее очевидное преимущество заключается в том, что многие системы управления контентом, такие как Umbraco, используют веб-элементы управления в качестве плагинов.Таким образом, вы можете разработать плагины для конечного пользователя / редактора, чтобы они могли выбирать и размещать содержимое страницы по своему усмотрению.

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