Переход с WinForms на MVC

Первая реализация ASP.NET использовала WebForms – самая ужасная идея для Web программирования. На то, чтобы это понять, у Microsoft ушло некоторое время, но за это время народ успел уже создать сайты на этой технологии. Но вот Microsoft уже одумалась и уже давно предлагает программистам более интересный и качественный вариант – MVC (Model View Controller).

Но только проблема в том, что старый вариант C# и ASP.NET использовали URL в виде ИмяФайла.aspx, после чего идут параметры страницы. А вот в MVC предлагается немного более гибкий вариант controller/action. Controller определяет файл, который будет обрабатывать запрос, а Action – это имя метода. Это очень удобно, но что делать, если у вас уже есть сайт на WebForms и не хочется терять старые URL, чтобы не терять ссылки, которые уже набраны. Ведь если изменить URL страниц, то все, что ссылается может быть разрушено.

Проблема решается банально. Открываем Global.aspx.cs и в методе RegisterRoutes изменяем создание маршрута на следующий:

routes.MapRoute (
	"Home",
	"{controller}.aspx/{action}",
	new { controller = "Home", action = "Index", id = "" }
);

По умолчанию маршрут выглядит как "{controller}/{action}", а я всего лишь добавил расширение к имени контроллера. Теперь, методы index в контроллерах будут обрабатывать все те URL, которые уже существуют у вас. Вы можете их сохранить, а можете делать редирект. Лично я сохраняю URL. Я уже полностью перевел www.canada-area.com на MVC, но оставил старый формат адресов.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Макс

06 Мая 2012

Миша, очень интересует твой ответ. Что ты больше предпочитаешь PHP или ASP.Net MVC? Если второе, то считаешь ты PHP ужасным языком и технологией.


Михаил Фленов

06 Мая 2012

Смотря для чего. Для банковской системы я бы выбрал .NET, а для простых сайтов PHP. Мне нравятся обе платформы. Какая больше? Вот чесно не знаю, я прекрасно живу с обеими.


Макс

06 Мая 2012

Кстати Миш, не пробовал на php mvc ипользовать? Симфонию, или еще что-то?


Михаил Фленов

06 Мая 2012

Пробовал какую-то систему три года назад в предыдущей компании. Я не помню, как она называлась, но мне не понравилось. Изличше сложно получилось.


Иван

10 Мая 2012

Yii (yes it is) - MVC framework на PHP, возник как переработанный аналог ASP.NET MVC. Интуитивно будет понятен тем, кто программирует на ASP.NET MVC. Не подумайте, что реклама (сам PHP не люблю, просто жизнь заставила)


Иокентий Япупкин

09 Мая 2015

Такого отстоя как фреймворки я в жизни не встречал, новая говенная парадигма программирования для идиофанов.
Очередная идея проамериканского запудривания мозгов и засирания кода, активно двигаемая в массы.


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне