2011-02-06 14 views
15

Rozpoczynam nowy projekt ASP.NET MVC 3 i zamierzam zaimplementować niektóre ekrany, które są domyślnie tylko do odczytu, ale pozwalają użytkownikowi edytować informacje, klikając na przycisku edycji. Chcę, żeby te ekrany były AJAXed. Wcześniej używałam jQuery Form Plugin do realizacji podobnych ekranów w projekcie ASP.NET MVC 2.ASP.NET MVC 3 - Ajax.BeginForm vs jQuery Form Plugin

Właśnie odkryłem istnienie Ajax.BeginForm() i zastanawiałem się, czy powinienem użyć tego, ponieważ jest on wbudowany, zamiast używać wtyczki jQuery Form. Zrobiłem wyszukiwarkę Google na temat różnicy między tymi dwoma technikami, ale nie mogłem nic znaleźć.

Co chciałbym wiedzieć, który z nich (lub inna łącznie) należy korzystać z ASP.NET MVC 3.

Jakie są najlepsze praktyki i bibliotek dla realizacji AJAX formularzy w ASP.NET MVC?

Jakie są mocne i słabe strony Ajax.BeginForm vs jQuery Form Plugin?

+0

Tak, zacząłem od 'Ajax.BeginForm()' i po przeczytaniu odpowiedzi, a także odkrycie, że nie byłem w stanie łatwo dodać procedur obsługi zdarzeń, które są metodami na obiekcie, postanowiłem zmienić na Wtyczka jQuery Form. – GiddyUpHorsey

Odpowiedz

4

Chciałbym użyć wtyczki formularza.

W MVC 3 helper Ajax jest w zasadzie zaimplementowany przy użyciu Ajax jQuery. (Zobacz Brad's Wilsons post na dyskretnym Ajaxie w MVC 3.) Plusem do korzystania z wtyczki Form jest większa kontrola nad twoimi stronami i nie musisz korzystać z przylegającego API BeginForm.

+0

Jak poradzisz sobie z tym błędem? Zamieniam stronę MVC, aby używać AJAX, a to jest dość kłopotliwe. Zwykle po prostu wrócę View (model); po błędach, ale liczy się to jako sukces z wtyczką Jquery Form. – Steffen

6

Jeśli zamierzasz używać Ajax.BeginForm, proponuję włączyć UnobtrusiveJavaScript. Jedną z lepszych stron korzystania z wbudowanych pomocników mvc jest to, że jest to o jedną mniej bibliotekę, którą musisz uwzględnić. W przeciwnym razie dodatnią stroną wtyczki jQuery.Form, którą mogłem zobaczyć, jest większa kontrola nad obsługą zdarzeń. Ponieważ nie musisz się martwić o wypalenie formularza MVC ajax, zanim będziesz miał szansę coś zrobić.

Powiązane problemy