![]() |
|
Модераторы: gambit |
![]()
|
|
| VikentiyR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
В MVC по умолчанию предлагают MicrosoftAjax и jQuery.
В JQuery мне понравилось множество примеров и удобных UI на сайте и пользовался в основном им. Но в некоторых формах использовал и Аякс от Майкрософт, в основном Ajax.BeginForm(). Сейчас решил отказаться от МС Аякс для оптимизации кода (слишком много JS подтягивать приходится) Есть ли какие нибудь подводные камни при этом? Как лучше для MVC сделать обёртку для JQuery, по аналогии с МС Ajax? Если не трудно киньте ссылку по примерам оптимизации и просо хорошего тона программирования с использованием jQuery. В примерах часто вешают события так. Для чего это делается?
|
|||
|
||||
| Bestoloch |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 29.6.2009 Репутация: нет Всего: нет |
Вас интересует что делает приведенный вами код?
|
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
см. ататч. взято где-то в нете, use at your own risk. Это сообщение отредактировал(а) PashaPash - 6.8.2009, 20:01 Присоединённый файл ( Кол-во скачиваний: 8 )
mvc.zip 2,51 Kb |
|||
|
||||
| VikentiyR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
Bestoloch, Нет, js изучал давно и за это время некоторые подходы изменились. Раньше я функции прям в ссылке я вешал на онклин. Сейчас после загрузки документа события вешают динамически. Хотел по подробнее почитать о новых подходах и оптимизации, адаптированное к jQuery.
PashaPash, файл не прошел Это сообщение отредактировал(а) VikentiyR - 6.8.2009, 19:54 |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
VikentiyR, глюки форума. добавил.
|
|||
|
||||
| VikentiyR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
PashaPash, Спасибо за файл, но я имел ввиду обёртка на стороне сервера на C#
Хочу переписать хелперы Ajax.BeginForm() Ajax.ActionLink() под jQuery, так как они действительно бывают полезны. Плюс хочу добавить несколько своих хелперов. Опыта работы с jQuery не так много, вот и хочу глянуть примеры работы с jQuery, чтоб не накосячить при написании хелперов. После чего удалю из проекта МС Ajax (насколько я понял jQury не завязан никак МС Ajax, их просто вместе включили) |
|||
|
||||
| Любитель |
|
||||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Вы противоречите сами себе Лично я не вижу смысла в этих методах вообще. UrlHelper - да, конечно. А как таковое подписка на onclick или onsubmit в jQuery не имеет никакого прямого отношения к шарпу. Для поста формы одним движениям (через аякс-реквест) есть плагин jQuery.Form. Для аякса есть свои методы (в крайнем случае - полнофункциональный jQuery.ajax), документация у jQuery очень удобная.. Где реально нужно взаимодействие? Это урл-ы и ид-шники HTML-элементов. Вначале можно это передавать через <%= %> вставки, а затем уже по вкусу. Я предпочитаю пихать все нужные урлы в <link> со своими rel-ами (быть может теряется валидность в чисто виде - не спорю, но добавляется семантичность). А id-шники - как-то общепринято считать что они просто фиксированы. Хотя здесь есть проблема - проблема рефакторинга. Впрочем, ИМХО это проблема рефакторинг-тулзов.. |
||||
|
|||||
| VikentiyR |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
Я как раз и хотел почитать о плюсах и минусах данных подходов.
Через C# хелперы удобно проставляется адрес, можно просто указать контроллер и экннейм и он сам вытаскивает всё необходимое из таблицы маршрутизации. В ручную прописывая адресы при дальнейшем изменении таблицы маршрутизации сложнее поменять ссылки во всех местах. |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Добавлено через 2 минуты и 10 секунд Ну.. Просто это не имеет прямого отношения к ASP .Net. А так - скажем, http://habrahabr.ru/blogs/javascript/26152 В то же время - я не навязываю своё мнение. Я признаю другие способы имеющими право на жизнь, если что. |
|||
|
||||
| VikentiyR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
Любитель, Большое спасибо за статью.
Может кто нибудь привести пример кода своего UrlHelper для MVC или как добавить в HtmlHelper свою функцию. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
VikentiyR, UrlHelper это стандартный класс в неймспейсе System.Web.Mvc.
|
|||
|
||||
| VikentiyR |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.7.2009 Репутация: нет Всего: нет |
Любитель, Я UrlHelper взял в качестве примера.
Просто интересует как сделать класс подобный Html или его модифицировать и реализовать свою функцию UrlHelper. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Html - это не класс, это проперти у MVC-шной базовой ViewPage. Проперти типа HtmlHelper. Плюс ряд экстеншен-методов для этого хелпера. Есть также проперти Url - типа UrlHelper. Можо реализовать свой базовый класс, со своими хелперами. Можно строготипизированные экстеншен-методы для UrlHelper-а (скажем Action, принимающий дерево выражений вида "controller" -> "action method"). Или я не понял, что ты имел ввиду? |
|||
|
||||
| Bestoloch |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 29.6.2009 Репутация: нет Всего: нет |
MVC framework имеет открытый исходный код, там можно посмотреть примеры реализаций различных методов |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |