5 ноября 2012 г.

Использование MVVM + Validation от Kendo, для ASP.Net MVC

Наверное только ленивый в последнее время не писал о использовании MVVM в веб-приложениях. Эта штука действительно уж как-то быстро набирает обороты, а программирование на стороне клиента переходит на существенно новый уровень.

Если вдруг кто еще не в курсе, то MVVM - Model View View-Model. Похоже на наш православный MVC, но вместо контроллера выступает View-Model. Подробнее об этом можно почитать здесь.

Конечно же, самым ярким представителем среди реализаций этого паттерна является библиотека Knockout. Но раз уж мы начали активно использовать Kendo, то можно попробовать применить в проекте именно его реализацию. Да-да, Kendo может предложить нам и такое.

Сегодня мы опробуем Kendo MVVM в связке с простым asp.net mvc приложением. Заодно немножко зацепим Kendo-вскую валидацию на клиенте. Ну и на десерт, воспользуемся еще несколькими интересными плюшками фреймворка.

30 октября 2012 г.

Использование шаблонов Kendo в ASP.Net MVC

Очередная "плюшка" от Kendo, которую хотелось бы рассмотреть подробнее - это использование шаблонов.
Конечно же, шаблоны сегодня есть практически в любом клиентском фреймворке, но так как мы начали познавать Kendo, то рассмотрим именно его интерпретацию.

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

Сегодня мы рассмотрим два базовых примера работы с шаблонами, которые продемонстрируют основные их возможности.

25 сентября 2012 г.

Загрузка файлов на сервер, используя Kendo UI Upload в ASP.Net MVC. Часть 2

Сегодня, во второй части (первая часть) знакомства с Kendo UI, мы будем практиковаться в асинхронной загрузке файлов на сервер.

Рассмотрим 4 варианта асинхронной загрузки:
  1. Простая загрузка файла;
  2. Загрузка нескольких файлов, onSuccess, onError;
  3. Загрузка файла с метаданными;
  4. Загрузка фала используя Drag&Drop.

16 сентября 2012 г.

Загрузка файлов на сервер, используя Kendo UI Upload в ASP.Net MVC. Часть 1

Продолжая знакомство с бесплатными компонентами Kendo UI, сегодня мы будем пробовать внедрять в проект новый загрузчик файлов. В этом посте, мы рассмотрим только работу с обычной, синхронной загрузкой файлов на сервер. Тоесть с формой, submit-ом, и прочими мелочами.

Мы опробуем Kendo UI Upload в трех ситуациях:
  1. Простая загрузка файла на сервер;
  2. Загрузка файла с дополнительными параметрами, отработка события загрузчика "OnSelect";
  3. Пакетная загрузка файлов (мультизагрузка), отработка события "OnRemove"

21 августа 2012 г.

Знакомство с Kendo UI Window для ASP.Net

На сегодняшний день, на поприще веба, представлена целая куча разнообразных UI фреймворков, для быстрой разработки красивого и удобного интерфейса своих проектов. Действительно, это снимает огромную проблему с разработчика, экономит время, и позволяет лишний раз не связываться с дизайнерами\верстальщиками (уж простите если обидел кого).
По моему скромному мнению, одним из самых удобных и перспективных UI-пакетов, является Kendo UI. Да-да, это именно та штука, ради которой Telerik "зарезал" свой Telerik Extensions for ASP.NET MVC, о котором я собирался написать десяток постов...

Для тех, кто не в курсе, немного расскажу о Kendo.
Вообще, Kendo UI состоит из трех пакетов:
  • Web (для всех обычных сайтов);
  • Mobile (компоненты для мобильных платформ);
  • DataViz (специальный набор для красивого представления данных: таблицы, графики, диаграммы и прочее.)
Каждый пакет включает стандартные Javascript библиотеки для работы набора, плюс компоненты/контролы для WebForms и MVC.
Вот тут и приходит самое главное разочарование - все это добро, как всегда, платное. Причем стоит ооочень хороших денег. Но мелкая радость все же имеется - бесплатно (GPL v3) предоставляется только пакет Web, хотя и без специальных контролов под asp.net, а лишь имея скриптовую реализацию.

Понятное дело, что работать мы будем с бесплатной версией пакета.
Итак, сегодня у нас первое знакомство с Kendo UI, и первым его компонентом - Window.

10 августа 2012 г.

Javascript LocalStorage и JSON

Все мы знаем, что практически в любом веб-приложении есть необходимость хранить некоторые данные на стороне клиента. До недавнего времени, эта необходимость решалась использованием Cookies.
Откровенно говоря, у cookies есть ряд неудобств и проблем:
  • при каждом запросе на сервер отсылаются и все куки;
  • ограничение размера в 4 kb;
  • подвержены стороннему вмешательству;
  • возможна подмена или кража cookie.
Так вот, с приходом HTML5, у нас появился прекрасный механизм работы с локальным хранилищем браузера через Javascript. И сегодня мы попробуем в этом разобраться.

14 июня 2012 г.

Делаем простой постраничный вывод данных (paged list) для ASP.NET Mvc

Думаю, что даже не стоит начинать рассказ о том, что такое постраничный вывод данных из БД, и зачем это нужно. Довольно стандартная и распространенная вещь для большинства сайтов. Единственное, в чем остается определиться, так это вариант реализации этого самого PagedList-а. Конечно же, многие (каюсь, я тоже) иногда начинают изобретать свои механизмы пейджинга. При этом забывают о том, что готовых решений уже полным полно, в том числе и для ASP.NET Mvc.

Использование Ajax.BeginForm в ASP.Net MVC

Продолжая тему полезных мелочей ASP.Net MVC, сегодня мы поэкспериментируем с еще одним хелпером - Ajax.BeginForm. Для чего же он нужен? Все довольно просто. В случае с Ajax.ActionLink, по клику на ссылке у нас отрабатывал ajax-запрос, который асинхронно подгружал на страницу некий HTML-контент. Здесь также происходит ajax-запрос на сервер, который возвращает оттуда некий контент, но при этом оправляется вся форма, со всеми ее элементами. Таким образом могут быть переданы введенные пользователем данные.

31 мая 2012 г.

Использование Ajax.ActionLink в ASP.Net MVC

Очень часто все забывают, или по какой-то причине не знают, всех возможностей используемой платформы, потому и продолжают использовать старые, дедовские методы для решения большинства задач. Одна из таких задач - асинхронная подгрузка контента через Ajax. Только хардкор - только яваскрипт и jquery? Нет! Сегодня мы начнем делать это с помощью встроенныех в asp.net mvc хэлперов.

24 мая 2012 г.

Использование Telerik Grid. Часть 1 - биндинг, пейджинг, сортировка и фильтрация

В прошлом посте мы подключили набор компонент Telerik к проекту, и приготовили все для их полного использования.
Первой полезной компонентой, которую мы рассмотрим, будет Grid. Как по мне, так это один из самых полезных элементов в современных веб-приложениях, работающих с наборами данных.
В этом посте мы будем выводить данных их базы данных в Grid, а также организуем  постраничную навигацию, сортировку по столбцам, и фильтрацию по заданным условиям.

10 мая 2012 г.

Знакомство с компонентами Telerik, для Asp.Net MVC. Подключение к проекту

Этим постом я хочу начать небольшой цикл статей об использовании компонентов Telerik в проектах Asp.Net MVC. Статьи не в каком случае не являются рекламными. Это лишь попытка продемонстрировать очередной удобный инструмент, который можно с успехом использовать в своих проектах.
Узнать подробнее о доступных компонентах, посмотреть демки, и скачать полный набор можно здесь: Telerik Extensions for ASP.Net MVC. Радует то, что данный набор от Telerik-а кроме коммерческой лицензии предлагает так же и Open Source версию, что собственно и остановило мой выбор именно на этом наборе компонентов.

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

19 апреля 2012 г.

Javascript, OnClick и перескакивание браузера

Иногда Javascript просто поражает своими возможностями, а иногда становится действительно печально от проблем с ним.
С одной из таких проблем можно столкнуться абсолютно в любом Web-приложении, независимо от технологии реализации. Речь идет о странном поведении браузера при щелчке по ссылке, которая должна выполнить некий javascript-код. К кнопкам это не относится, и можна использовать их, но иногда именно верстальщик ставит условия )))

Дабы, как всегда, не делать долгое вступление, сразу перейдем к делу...

18 февраля 2012 г.

Файловый обозреватель на сервере, с ASP.Net MVC

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

Сегодня мы прикрутим к ASP.Net MVC приложению серверный файловый менеджер. Серверный - в том понимании, что через него пользователь получит полный контроль над файловой системой какой-то определенной папки на сервере. Он сможет создавать там свою структуру папок, загружать файлы, скачивать их оттуда, и прочие полезные штуки.