Архив

Архив раздела ‘ASP.NET’

Технология Microsoft ASP.NET — мощнейшее средство веб-разработки. Удобство, богатейшие функциональные возможности, скорость и простота разработки во многом превосходящие PHP в руках веб-разработчика — идеальная среда для создания по-настоящему великолепных программных решений. В этой рубрике вы найдете уроки, советы, рекомендации и многое другое.

ASP.NET MVC. Перехватываем нулевую модель (null model handling).

19 декабря 2012 Нет комментариев
Много раз сталкивался с тем, что контроллеры в ASP.NET MVC со временем начинают обрастать бизнес-логикой или, что еще хуже, «сервисной» логикой (создание/удаление файлов, редактирование каких-нибудь конфигов и тд.). Слова «контроллеры», «контроллер» и «вьюха» сейчас будут повторяться слишком часто, но ничего не поделать :). Так вот,  такие контроллеры сложно тестировать и поддерживать. В идеале, контроллер должен содержать только логику по формированию представления (View), а на деле — контроллер превращается в своеобразный комбайнер (собиратель), который по частям заполняет модель отовсюду, откуда только можно, выглядеть это может примерно так:

    public class AbstractController : Controller
    {
        public ActionResult Index()
        {
            var model = new SomeModel();
            model.Property1 = SomeService1.GetProperty1();
            model.Property2 = AnotherService.GetProperty2();
            SomeStrangeHelper.DoSomethingWithModel(model);
            ...

            return View(model);
        }
    }

[Читать далее…]

ScriptManager для ASP.NET MVC. Третий вариант.

18 декабря 2012 Нет комментариев
Очередная вариация на тему ScriptManager’а, это скорее отрефакторенный вариант второго решения. В прошлый раз мы использовали HttpModule, но из-за особенностей обработки запросов модулем его использование влечет за собой накладные расходы, поскольку любой запрос, будь то файл стилей или файл с клиентскими скриптами или же изображение, проходит через всю цепочку модулей, которые зарегистрированы в ASP.NET приложении. В предыдущем скрипт-менеджере мы делали проверку, что текущий запрос — это запрос именно html-страницы, и если это так, то мы запускали обработку html. Однако, по умолчанию, в приложениях ASP.NET MVC весь выходной html-код генерится контроллером и вьюхой, а если это и ваш случай, то можно сделать все проще, мы будем использовать ActionFilterAttribute.

[Читать далее…]

ScriptManager для ASP.NET MVC. Второй вариант.

11 августа 2012 Нет комментариев
В продолжении предыдущего поста выкладываю стопроцентно-"трушный" вариант ScriptManager`а для ASP.NET MVC, с которым ваш сайт пройдет HTML-валидацию. Как я уже говорил, общая идея заключается в том, что нам нужно перехватить ответ сервера и изменить его перед отправкой. Перехватить Response нам поможет HttpModule.

[Читать далее…]

ScriptManager для ASP.NET MVC.

10 декабря 2011 5 комментариев
Открываю новый цикл статей по ASP.NET MVC. Все описанные плюшки реализованы в нашей CMS. Начну пожалуй с такой штуки, как ScriptManager. Наверное каждый, кто занимался разработкой на ASP.NET использовал этот удобный функционал для добавления скриптов и файлов-стилей на страницу. ScriptManager широко применяется в классических ASP.NET Webforms и по понятным причинами отсутствует в ASP.NET MVC, я очень активно искал аналоги этого класса для ASP.NET MVC, но ничего вразумительно найти не смог, поэтому пришлось писать свой. Дело было весной, поэтому возможно, что сейчас уже есть более хорошие решения, буду признателен за ссылки на них.
[Читать далее…]

Partial Views и Areas в ASP.NET MVC.

23 февраля 2011 Нет комментариев
Всех с праздником :).

В ASP.NET MVC 2 появилось такое новое понятие как области (Areas), а поскольку релиз второй версии MVC вышел уже почти год назад, то понятие это уже далеко не новое, и проблема, с которой я недавно столкнулся, должна была к настоящему времени ну хоть кого-нибудь затронуть, однако, на просторах сети ее описания не нашлось. Смысл Areas в том, чтобы разделить большой проект на несколько маленьких, не создавая отдельных проектов в солюшене. Т.е., например, есть веб-приложение, состоящее из некоторой общей публичной части, какой-то административной части, блога и форума, каждая из частей выносится в отдельную независимую область (area), в результате все лежит в одном проекте, но в то же время разграничено по смысловой нагрузке. Это очень удобно (проверено лично). Появляется возможность иметь одноименные контроллеры, вьюхи и тд.

Это было как введение, на самом деле пост не об Areas. Речь пойдет о Partial Views (частичные представления), которые находятся в некоторой области (Area). Partial Views — это аналог User Controls в классическом ASP.NET, которые могут использоваться для отрисовки каких-то кусков страницы, например блока новостей.
[Читать далее…]

Categories: ASP.NET Tags: , , ,

ASP.NET MVC 3 Релиз.

24 января 2011 Нет комментариев
Новость немного запоздалая, но важная. Команда разработчиков ASP.NET выпустила очередную версию фреймворка ASP.NET MVC 3. Загружать я советую с Microsoft Web Platform Installer потому что отдельным пакетом новая версия у меня устанавливаться не захотела по непонятным причинам. Установка весьма долгая.

Новичкам рекомендую почитать обучающие материалы ASP.NET MVC на русском языке. В новой версии помимо всего прочего добавлена поддержка новой View Engine под названием Razor. Я не стал пробовать этот движок разметки в бета-версиях ASP.NET MVC 3, поэтому в релизе он произвел на меня очень положительное впечатление. Вообщем, сейчас с Razor`ом делать вьюхи стало офигительно удобно, кто сомневается — не сомневайтесь, разница в удобстве просто огромна. Ближе к концу недели постараюсь сделать маленький пост о Razor. Производительность Razor тоже на уровне, результаты тестов здесь. Книги по Razor и примеры использования можно бесплатно скачать здесь.

Categories: ASP.NET Tags: , ,

Редактирование карты сайта Web.sitemap. How to edit Web.sitemap.

19 ноября 2010 Нет комментариев
Любой разработчик ASP.NET, причем не важно, будь то MVC или WebForms, знает про такой класс как SiteMap. Этот класс предоставляет большие возможности для навигации по сайту, он может быть использован как DataSource к TreeView или Menu. Я не буду рассказывать про то, как этим классом пользоваться, как, где, куда создавать и что записывать в Web.sitemap — об этом информации полно, лучше расскажу я про редактирование. В дальнейшем, говоря о карте сайта, я буду говорить про стандартный функционал ASP.NET, а не про что-либо еще.

[Читать далее…]

Categories: ASP.NET Tags: , ,

ЧПУ ASP.NET. URL Rewriter 2.0.

17 марта 2010 Нет комментариев
На днях анонсирована финальная версия модуля URL Rewriter для IIS:
  • интуитивно понятный URL адрес
URL Rewriter позволяет задавать различные правила (включая регулярные выражения) для преобразования сложных URL-адресов в "красивые" веб-адреса страниц, которые значительно удобнее как для клиентов, так и для индексации сайта поисковыми системами;
  • простая интеграция с IIS
URL Rewriter автоматически интегрируется в существующий и настроенный IIS.

Подробности по ссылке Free URL Rewriter.

Categories: ASP.NET Tags: ,

ASP.NET MVC 2 Релиз.

16 марта 2010 2 комментария
11 марта 2010 года наконец-то вышел долгожданный релиз ASP.NET MVC 2 — это технология, которая в недалеком будущем вероятно заменит классические ASP.NET WebForms. Исходники, информацию о нововведениях, документацию, а также инструкцию по апдейту своих проектов с версии 1.0 вы можете получить на официальном блоге ведущего разработчика Phil`a Haack`a.
Categories: ASP.NET Tags: ,

Проверить включен ли JavaScript в браузере ?

25 февраля 2010 3 комментария
Как проверить, включен ли JavaScript в браузере ? В книге Мэтью Мак-Дональда и Марио Шпушты "Microsoft ASP.NET с примерами на C# для профессионалов" используется следующий код:

if (Page.Request.Browser.EcmaScriptVersion.Major >= 1)
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "key", "alert('JS is enabled');", true);
        }
Categories: ASP.NET Tags: ,