Что бы переходить на ASP.NET нужны какие либо причины. Т.е если с вашей задачей справятся классические Web Forms и это будет гораздо быстрее то смысла нету. Я же пока используя для себя. Тут одназначно есть плюсы, например лёгкость кода и это очень приятно. Любая часть вам доступна. Вообщем если видите для себя плюсы используйте:)
для меня роднее ASP.NET =) просто я как то привык к .NET 2.0
Меня пугает непонимание как это все работает, и по этому как то осторожно ко всему отношусь. я пока не нашел такого манула по которому можно было бы нырнуть вглубь (или плохо искал).
А вы почитайте в интеренете или даже на хабре, материала полно. Тут, главное понять основоной смысл работы и иначе что то использовать из данного фреймворка будет сложновато т.к вы просто не поймёте что к чему. Если что добро пожаловать в мою личку чем смогу тем помогу:)
С мануалами пока туго, но это объяснимо — ASP.NET MVC пока еще beta. Я читаю блоги Phil Haack и Scott Guthrie, там периодически появляются понятные и интересные обзоры возможностей продукта. Плюс к тому, исходники MVC опубликованы на CodePlex, поэтому понять «как это работает», всегда можно, заглянув туда.
Проблем быть не должно, просто проверьте, чтобы на сервере был .NET Framework 3.5.
Все дополнительные библиотеки (System.Web.Routing, System.Web.Abstractions, System.Web.Mvc) подключаются простым копированием в /bin, в GAC их ставить необязательно.
IIS настраивается, в принципе, так же, как и для обычных ASP.NET приложений.
Проблем, по идее, не должно возникнуть при переносе на IIS 7.0 (только на Висте и на Win Server 2008).
А IIS 6.0 передает запрос на обработку конвееру asp.net по расширению, поэтому красивых урлов, как это предполагает технология не получится. Будут примерно такие mydomen/Home.mvc/About
А чтобы это победить нужно дополнительно устанавливать костыли в виде ISAPI_rewrite, etc. Если погуглить, можно найти примеры решений.
В IIS6 тоже можно организовать, если есть к нему доступ, привязав обработку всех запросов на asp.net. Если будет тормозить, то вынести папку со статическим содержимим как виртуальную директорию и обработчик asp.net вообще от туда убрать.
Также на некоторых shared-хостингах (скажу за Parking, про остальные не сильно знаю) можно переадресовывать к aspnet_isapi запросы к файлам с любыми расширениями.
Так или иначе, но это уже «костыли», коих лишен IIS7.0
Кроме того, я не говорил, что проблемы нерешаемы. При достаточном доступе к настройкам сервера и определенном напряжением мозговых клеток можно добиться красивых урлов (и не только).
Кстати, у Конери есть офигенный OpenSource-продукт для уровня Data Access Layer, который он ведет помимо работы в MS — это SubSonic, очень клевая ORM и не только.
Интересно, как скоро монстры компонентостроения, такие как Telerik, Devexpress и т.д., начнут поддерживать ASP.NET MVC. Меня во много останавливает это от перехода на ASP.NET MVC…
Похоже это самый любимый вопрос на форумах Telerika. А если задуматься что прошла вообще то молодая команда, всего 6 лет на рынке. Написать свой Ajax framework, сделать свой сет контролей с оригинальным дизайном (картин не жалели), быть вынуждены выкинуть и переписать заново на Microsoft Ajax, и тут снова такой поворот событи ASP.Net MVC. blogs.telerik.com/VladimirEnchev/Posts/08-10-02/Telerik_RadControls_in_Microsoft_ASP_NET_MVC.aspx
Уже вышла бета Q3 2008 c поддержкой MVC
Кстати, в силу природы MVC для него сложно создавать независимые подключаемые компоненты и контролы, как в WebForms. Это одна из слабостей ASP.NET MVC, я считаю.
Как-то несвязная статья. Вижу, людям полезна, но она по сути просто рассказывает как работать с ajax в jquery и отдельно рассказывает как писать action методы в MVC.
Мне понравилась работа с ajax при помощи Ajax.BeginForm и т.д. Т.е. при помощи другой ajax библиотеки, которая тоже идет в поставке, но которую любят меньше :)
Так как это все интегрировано, то поддерживать это будет в последствии легче. например, при измеменениях роутеров. по моим представлениям в asp.net mvc хардкодить URL в теле страницы неправильно.
Ну и самого JS кода писать практически не придется, только для феничек и рюшиков :)
По поводу хардкодинга вы правы, конечно, но у меня после выхода еще Preview 5 появились некоторые сомнения по поводу Url.ActionLink…
— во-первых, каждый вызов Url.ActionLink() прогоняет коллекцию RouteTable.Routes, что, априори, явно медленнее;
— во-вторых, с вводом в эксплуатацию атрибутов AcceptVerbs и ActionSelection мы теоретически рискуем вызвать совсем не тот action-метод, который планировали, так как у ActionLink отсутствует модуль предсказания :)
Можно получать Route по ключу, но любителям /{Controller}/{Action} такой подход вряд ли подойдет.
Меня минусовали люди, которые прячут голову в песок от простых и прямых вопросов. Мне на этих страусов плевать, потому что писать я им по прежнему могу :-)
Если в виде формата в функции jQuery указать не «json», a «html», то можно сделать так, чтобы контроллер возвращал уже готовый шаблон. Типа вот так (без форматирования)
public ViewResult GetAjaxContent()
{
return View(«MyTemplate»); // со стандартным ViewData
или
return View(«MyTemplate», new MyType { id = 0, name = «blabla», Items = db.Persons }); // со своим типом модели
}
MyTemplate.aspx закинуть в папку Shared, а в его коде уже написать обработчик, который будет рисовать или листбокс, или таблицу, или еще чего. Плюс — не придется в коде jQuery писать разные "", достаточно будет указать div, куда писать ответ. Типа $("#mydiv").html(data)
ASP.NET MVC + jQuery = рай для AJAX