Подходит ли MVC .net для моего типа проекта? - PullRequest
2 голосов
/ 25 июня 2010

После бесчисленных часов исследований (создание нескольких демонстрационных проектов, просмотр вебинаров и т. Д.) Я чувствую, что MVC .net отлично работает для 90% типов веб-приложений, но не для моих.

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

Это довольно тривиально в веб-формах, использующих пользовательские контроли с панелями обновления ajax, но я не видел «хорошей» простой реализации в MVC без выполнения большей части тяжелой работы в коде JQuery / Javascript.

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

Я думаю о MVC неправильно, я упускаю такой простой пример, который основные блоггеры / учебники не освещают? Есть мысли?

Ответы [ 6 ]

1 голос
/ 25 июня 2010

Нет, вы не ошиблись. Во многих отношениях MVC ближе к «металлу». Веб-формы делают такие вещи «тривиальными» с точки зрения кода, но обычно только потому, что делают их крайне неэффективными с точки зрения пропускной способности.

MVC использует другой подход; они заставляют вас замечать неэффективные практики, делая это вручную. jQuery и AJAX должны быть добавлены в MVC для такого рода сложности.

Это действительно звучит так, как будто вам нужно решение Silverlight.

0 голосов
/ 28 июня 2010

Спасибо всем за ответ!Я очень ценю это.

Я нашел способ заставить MVC очень эффективно работать в выходные дни для моего случая использования, включив обратную передачу AJAX в определенные теги div.Я добавил несколько методов расширения AJAX для обработки кнопок / выпадающих меню и т. Д. (Также с небольшим количеством JQuery), чтобы они вызывали конкретный контроллер и возвращали представление, обновленное только в указанных divs.

Возможно, основы MVCно как только я надел шляпу javascript (и перестал смотреть на это с точки зрения веб-форм), это действительно имело большой смысл.Кроме того, включение McvContrib и Ninject в мою кодовую базу облегчило довольно много проблем, которые я предвидел.Я очень рекомендую всем, кто изучает MVC, проверить эти два инструмента (хотя Ninject не является исключительно MVC).

Еще раз спасибо.

D ^ t

0 голосов
/ 25 июня 2010

Как уже говорили другие, MVC не обязательно лучше, чем WebForms, и вы должны использовать то, что лучше всего подходит для ваших потребностей проекта. Не используйте MVC только потому, что он самый последний и самый лучший.

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

0 голосов
/ 25 июня 2010

Приложение панели инструментов, как вы описываете, не похоже на ASP.NET MVC, было бы ПЛОХОЙ выбором.

Диаграммы - вы можете использовать элементы управления Microsoft Charting с ASP.NET MVC - вот как .

Формы и представления - могу представить, что вы обернули бы эти указатели даты в теги форм. Каждая сетка или диаграмма будет иметь какую-либо переменную коллекции или члена в ViewModel. Создайте частичное представление для каждой сетки, отправьте ей соответствующие данные в виде ViewModel и просто foreach, чтобы построить table или ul, чтобы отображать ваши табличные данные, как вам удобно.

0 голосов
/ 25 июня 2010

MVC должен облегчить ваше развитие.Если это не так, не используйте его силой.Придерживайтесь веб-форм, если они лучше соответствуют вашим требованиям.

0 голосов
/ 25 июня 2010

Если ваши элементы управления диаграммой / графиком являются классическими элементами управления ASP.net, то лучше всего придерживаться классического приложения ASP.net. Некоторые элементы управления ASP.net не очень хорошо работают с MVC.

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