ASP.NET win-like философия и жизненный цикл страницы часто мешают мне - PullRequest
2 голосов
/ 20 июня 2009

MVC + классические веб-формы на одном веб-сайте

Теперь Мне интересно, можно ли было смешать MVC и классические веб-формы (я не хочу переопределять то, что я уже сделал, даже если это делает код неоднородным ...)

Оригинальный вопрос

Чем лучше я понимаю ASP.NET (и веб-программирование в целом), тем больше мне не нравится жизненный цикл страницы ASP.NET и его парадигма, похожая на winforms. Я все больше убеждаюсь, что лучше получу результаты за меньшее время, написав собственными обработчиками или, самое большее, используя простые шаблоны .aspx без какого-либо элемента управления, связанного с данными.
Каждый раз, когда я изучаю способ сделать что-то в ASP.NET, у меня возникает ощущение, что я потратил впустую свое время и в итоге заново изобретаю колесо.

Вы опытно используете элементы управления System.Web.UI. *?
Вас не смущает жизненный цикл страницы?
Не кажется ли вам, что размещение SQLDataSource на каждой странице приводит к неуправляемому коду?

Обновление

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

Ответы [ 6 ]

4 голосов
/ 20 июня 2009

ASP.NET MVC создан именно для людей, которые чувствуют то же, что и вы:)

Да, вполне возможно смешивать WebForms и ASP.NET MVC

1 голос
/ 20 июня 2009

Опытно ли вы используете элементы управления System.Web.UI. *?

Больше нет.

Вас не смущает жизненный цикл страницы?

Используется для. Особенно, когда пользовательские / пользовательские элементы управления были смешаны.

Не кажется ли вам, что размещение SQLDataSource на каждой странице приводит к неуправляемому коду?

Конечно, это так, но никто не заставляет вас использовать SqlDataSource. Я предпочитаю ObjectDataSource с 3tier архитектурой.

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

Будь осторожен. :)

1 голос
/ 20 июня 2009

Я прошел путь от классического asp и php до .net. Сначала это было сложно. Я продолжал думать, что мог бы делать вещи намного быстрее в классическом asp / php и что мои результаты были бы намного чище и легче.

Чтобы ответить на ваши вопросы:

Да (это заняло некоторое время)

Нет (Не знаю, почему меня это никогда не смущало, так как многие люди)

Да (но вам не нужно их использовать)

Теперь, возвращаясь к asp.net MVC, я чувствую, что в веб-формах я могу намного проще. Я начинаю понимать это, хотя. Все прошло полный круг, но лучше.

Как отмечали многие, вам может понравиться asp.net MVC, если вы еще не пробовали.

1 голос
/ 20 июня 2009

Да, некоторым людям не нравится часто называемая «дырявая» абстракция, то есть WebForms. Он пытается превратить запросы браузера без сохранения состояния в зверя, напоминающего приложение с сохранением формы, не всегда удачного и, как правило, не изящного (большие скрытые поля представления состояния, нарушенная функциональность кнопки «назад», использование javascript для простой навигации).

Это большая причина, по которой Microsoft разработала свою реализацию MVC. Он дает вам «родной» веб-интерфейс без абстракции, сохраняя при этом некоторых помощников (которых он на самом деле называет помощниками). До появления MVC также можно было написать собственное приложение, не относящееся к веб-формам, на ASP.NET, это просто означало больше работы (лично я использовал свою собственную самодельную систему, построенную на HTTPHandler, для обеспечения URL-адресов RESTful и взаимодействия без веб-формы для годом ранее MVC предоставил официальную альтернативу)

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

Не кажется ли вам, что SQLDataSource на каждой странице выдает не поддерживаемый код?

Что? Почему вы не используете SqlConnection?

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

Это что-то вроде winforms, хотя ... предоставить некоторые абстракции более высокого уровня, чтобы попытаться создать впечатление, что вы меньше разрабатываете для сети. Чем больше вы узнаете о веб-разработке, тем больше вы хотите убрать эти абстракции. Если webforms - автоматическая коробка передач, то ASP.NET MVC - это сдвиг ручки. Он удаляет множество абстракций и дает вам доступ к оружейному металлу.

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