Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MicrosoftAjax и jQuery 
:(
    Опции темы
VikentiyR
Дата 6.8.2009, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



В MVC по умолчанию предлагают MicrosoftAjax и jQuery.
В JQuery мне понравилось множество примеров и удобных UI на сайте и пользовался  в основном им. 
Но в некоторых формах использовал и Аякс от Майкрософт, в основном Ajax.BeginForm().
Сейчас решил отказаться от МС Аякс для оптимизации кода (слишком много JS подтягивать приходится)

Есть ли какие нибудь подводные камни при этом?
Как лучше для MVC сделать обёртку для JQuery, по аналогии с МС Ajax?

Если не трудно киньте ссылку по примерам оптимизации и просо хорошего тона программирования с использованием jQuery.
В примерах часто вешают события так. Для чего это делается?
Код

$('#doSth').click(function() {  
   $.getJSON("/Home/doSth", { current: <%=Model.Id %> }, function(data) {  
      if(data.success=true) {
         ...
      }
   });  
}); 

PM MAIL   Вверх
Bestoloch
Дата 6.8.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



Вас интересует что делает приведенный вами код?
PM MAIL   Вверх
PashaPash
Дата 6.8.2009, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 7
Всего: 49



Цитата(VikentiyR @  6.8.2009,  01:56 Найти цитируемый пост)

Как лучше для MVC сделать обёртку для JQuery, по аналогии с МС Ajax?

см. ататч. взято где-то в нете, use at your own risk.


Это сообщение отредактировал(а) PashaPash - 6.8.2009, 20:01

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  mvc.zip 2,51 Kb


--------------------
PM MAIL WWW   Вверх
VikentiyR
Дата 6.8.2009, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



Bestoloch, Нет, js изучал давно и за это время некоторые подходы изменились. Раньше я функции прям в ссылке я вешал на онклин. Сейчас после загрузки документа события вешают динамически. Хотел по подробнее почитать о новых подходах и оптимизации, адаптированное к jQuery.
PashaPash, файл не прошел

Это сообщение отредактировал(а) VikentiyR - 6.8.2009, 19:54
PM MAIL   Вверх
PashaPash
Дата 6.8.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 7
Всего: 49



VikentiyR, глюки форума. добавил.


--------------------
PM MAIL WWW   Вверх
VikentiyR
Дата 7.8.2009, 02:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



PashaPash, Спасибо за файл, но я имел ввиду обёртка на стороне сервера на C#
Хочу переписать хелперы Ajax.BeginForm() Ajax.ActionLink() под jQuery, так как они действительно бывают полезны.
Плюс хочу добавить несколько своих хелперов.
Опыта работы с jQuery не так много, вот и хочу глянуть примеры работы с jQuery, чтоб не накосячить при написании хелперов.

После чего удалю из проекта МС Ajax (насколько я понял jQury не завязан никак МС Ajax, их просто вместе включили)


PM MAIL   Вверх
Любитель
Дата 7.8.2009, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(VikentiyR @  6.8.2009,  19:52 Найти цитируемый пост)
Раньше я функции прям в ссылке я вешал на онклин. Сейчас после загрузки документа события вешают динамически.

Цитата(VikentiyR @  7.8.2009,  02:23 Найти цитируемый пост)
Хочу переписать хелперы Ajax.BeginForm() Ajax.ActionLink() под jQuery, так как они действительно бывают полезны.

Вы противоречите сами себе smile Хелперы BeginForm и ActionLink из AjaxExtensions генерят формы с нагловнедрённым onsubmit="...", и ссылки с не менее наглым onclick.

Лично я не вижу смысла в этих методах вообще. UrlHelper - да, конечно. А как таковое подписка на onclick или onsubmit в jQuery не имеет никакого прямого отношения к шарпу. Для поста формы одним движениям (через аякс-реквест) есть плагин jQuery.Form. Для аякса есть свои методы (в крайнем случае - полнофункциональный jQuery.ajax), документация у jQuery очень удобная..

Где реально нужно взаимодействие? Это урл-ы и ид-шники HTML-элементов. Вначале можно это передавать через <%= %> вставки, а затем уже по вкусу. Я предпочитаю пихать все нужные урлы в <link> со своими rel-ами (быть может теряется валидность в чисто виде - не спорю, но добавляется семантичность). А id-шники - как-то общепринято считать что они просто фиксированы. Хотя здесь есть проблема - проблема рефакторинга. Впрочем, ИМХО это проблема рефакторинг-тулзов..


--------------------
PM MAIL ICQ Skype   Вверх
VikentiyR
Дата 7.8.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



Цитата(Любитель @  7.8.2009,  10:19 Найти цитируемый пост)
Хелперы BeginForm и ActionLink из AjaxExtensions генерят формы с нагловнедрённым onsubmit="...", и ссылки с не менее наглым onclick.

Я как раз и хотел почитать о плюсах и минусах данных подходов.
Цитата(Любитель @  7.8.2009,  10:19 Найти цитируемый пост)
Лично я не вижу смысла в этих методах вообще. UrlHelper - да, конечно.

Через C# хелперы удобно проставляется адрес, можно просто указать контроллер и экннейм и он сам вытаскивает всё необходимое из таблицы маршрутизации.
В ручную прописывая адресы при дальнейшем изменении таблицы маршрутизации сложнее поменять ссылки во всех местах.

PM MAIL   Вверх
Любитель
Дата 7.8.2009, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(VikentiyR @  7.8.2009,  12:09 Найти цитируемый пост)
Через C# хелперы удобно проставляется адрес, можно просто указать контроллер и экннейм и он сам вытаскивает всё необходимое из таблицы маршрутизации.
В ручную прописывая адресы при дальнейшем изменении таблицы маршрутизации сложнее поменять ссылки во всех местах.


Цитата(Любитель @  7.8.2009,  10:19 Найти цитируемый пост)
UrlHelper - да, конечно.

 smile

Добавлено через 2 минуты и 10 секунд
Цитата(VikentiyR @  7.8.2009,  12:09 Найти цитируемый пост)
Я как раз и хотел почитать о плюсах и минусах данных подходов.

Ну.. Просто это не имеет прямого отношения к ASP .Net. А так - скажем, http://habrahabr.ru/blogs/javascript/26152
В то же время - я не навязываю своё мнение. Я признаю другие способы имеющими право на жизнь, если что.


--------------------
PM MAIL ICQ Skype   Вверх
VikentiyR
Дата 8.8.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



Любитель, Большое спасибо за статью.

Может кто нибудь привести пример кода своего UrlHelper для MVC или как добавить в HtmlHelper свою функцию.
PM MAIL   Вверх
Любитель
Дата 8.8.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



VikentiyR, UrlHelper это стандартный класс в неймспейсе System.Web.Mvc.


--------------------
PM MAIL ICQ Skype   Вверх
VikentiyR
Дата 8.8.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.7.2009

Репутация: нет
Всего: нет



Любитель, Я UrlHelper взял в качестве примера. 
Просто интересует как сделать класс подобный Html или его модифицировать и реализовать свою функцию UrlHelper.
PM MAIL   Вверх
Любитель
Дата 9.8.2009, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(VikentiyR @  8.8.2009,  15:43 Найти цитируемый пост)
Просто интересует как сделать класс подобный Html

Html - это не класс, это проперти у MVC-шной базовой ViewPage. Проперти типа HtmlHelper. Плюс ряд экстеншен-методов для этого хелпера. Есть также проперти Url - типа UrlHelper. Можо реализовать свой базовый класс, со своими хелперами. Можно строготипизированные экстеншен-методы для UrlHelper-а (скажем Action, принимающий дерево выражений вида "controller" -> "action method"). Или я не понял, что ты имел ввиду? smile


--------------------
PM MAIL ICQ Skype   Вверх
Bestoloch
Дата 10.8.2009, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



Цитата(VikentiyR @ 8.8.2009,  11:26)
Может кто нибудь привести пример кода своего UrlHelper для MVC или как добавить в HtmlHelper свою функцию.

MVC framework имеет открытый исходный код, там можно посмотреть примеры реализаций различных методов
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0571 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.