Ищете предложения по обновлению страницы без постов - PullRequest
1 голос
/ 03 сентября 2011

Так что я работаю над личным проектом MVC для практики.Мне нравится быстрота использования ajax-вызовов веб-сервисов для обновления страницы, и мне не нужно возвращать весь пост обратно.

Мои знания очень ограничены, и я осознаю, что могу сделать это только с помощью Javascript.

Однако, с точки зрения нового разработчика, есть одна проблема с этим.Предполагается, что вам потребуется выполнить то же самое поведение на большей части вашего сайта для любых операций CRUD над объектами вашего домена.Поэтому вызывает (опять же для нового разработчика) отсутствие хандхолдинга с Javascript (отладка, модульное тестирование, строгий тип ... и т. Д.).

Но из-за моего недостатка знаний, есть ли способ, с помощью которого вы можете приобрести этот же файл поведения в MVC, не выполняя все свои грубые операции с вызовами javascript / ajax к веб-службам?

ПРИМЕЧАНИЕ : перед тем, как бить меня по поводу моих замечаний по поводу Javascript .... Мне нравится Javascript, и могут быть способы отрицать некоторые замечания, которые я высказал, используя его для всехваши операции CRUD, чтобы получить поведение, которое я ищу, о котором я мог просто не знать.

1 Ответ

1 голос
/ 03 сентября 2011

Судя по вашему вопросу, похоже, что вы ищете UpdatePanel для MVC. Этот элемент управления недопустим для ASP.NET MVC, но вы можете выполнить аналогичную функциональность, используя AJAX (либо lib.Ajax Microsoft или что-то вроде jQuery) и возвращая PartialView из вашего контроллера. На сайте Telerik есть приличное учебное пособие по этой технике (просто игнорируйте части, в которых они отображают свои собственные элементы управления - вы можете сделать практически все).

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

Возможно, вы захотите использовать среду JavaScript, такую ​​как jQuery или MooTools , чтобы обернуть поведение вызова AJAX, так что вам просто нужно вызвать уже протестированные вызовы AJAX. (например, jQuery.ajax()). Таким образом, ваш JavaScript будет просто обработчиком обратного вызова для обновления ваших страниц.

На стороне сервера, поскольку вы используете MVC (я предполагаю, что это ASP.NET MVC), ваши контроллеры могут просто вернуть JsonResult вместо ActionResult и просто иметь ваши операции CRUD внутри вашего контроллер вместо создания отдельного набора веб / WCF сервисов. (Вы также можете вернуть ActionResult на ваш jQuery.ajax() вызов.)

Так что я не думаю, что вам удастся уйти от JavaScript, чтобы реализовать поведение в стиле AJAX на вашем веб-сайте. Возможно, вам не придется создавать набор веб-сервисов, поскольку вы можете просто разместить их в своем контроллере.

Это, вероятно, даст вам то, что вы хотите. Возможно, вы захотите ознакомиться с учебником на веб-сайте ASP.NET, чтобы получить дополнительную информацию (но это не поможет вам в части вопроса о модульном тестировании).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...