Пару месяцев назад мне пришлось реализовывать интерфейс с помощью WPF. В основном использовался FlowDocument, т.к. необходимо было максимально близко организовать UI в стиле веб-страниц.
Привыкший к свободе по позиционированию HTML-элементов с помощью CSS, я не мог найти решение по относительному позиционированию вложенных элементов. Свойства Top, Left, Right, Bottom полностью отсутствуют в плавающих WPF документах. MSDN выдал только класс Figure. Однако HorizontalOffset и VerticalOffset не работают при использовании FlowDocumentScrollViewer. Поиск в гугле также не помог.
Однако решение оказалось более чем простым.
Дополнение к прошлому посту от Alex Adamyan, посвященный локализации в ASP.NET MVC приложениях. Хотя это материал относится к ASP.NET MVC 2, его можно смело использовать и в версии 3.
В моем предыдущем посте я описал возможность локализации, используя сессию, однако для реальных приложений — это абсолютно не лучший путь. Сейчас я опишу очень простой и при этом очень мощный метод локализации, расположив ее в URL-адресе, используя механизм маршрутизации.
Также этот метод локализации не потребует трюк с OutputCache, как было описано в предыдущем посте.
Цель этого поста – возможность показать, как получить из URL-адреса вида /{culture}/{Controller}/{Action}... в Вашем приложении, URL-адрес вида /ru/Home/About.
Этот пост хотелось бы посвятить возможности интеграции двух платформ ASP.NET и Flex.
Предисловие
Как правило, Flash является прекрасным средством для создания насыщенных мультимедиа проектов, а с выходом ActionScript 3 и технологии Flex программировать стало одно удовольствие. При этом можно создавать и RIA, и desktop приложения (спасибо, Adobe AIR).
С другой стороны у нас ASP.NET — мощный инструмент для создания web-приложений. Можно использовать два совершенно разных подхода к построению приложения: либо использовать WebForms + Web Services, либо ASP.NET MVC, придерживаясь REST-стиля.
Прежде чем закончить лирическое отступление, хотелось бы обозначить инструменты, которые нам понадобятся.
Итак, это –