Использование JavaScriptResult в моем коде - PullRequest
2 голосов
/ 09 января 2012

Мне было интересно, должен ли я использовать JavaScriptResult? Я прочитал несколько статей об этом, и у людей противоречивые мнения.

Я вижу выгоду:

  1. Код отображается в контроллере, и поэтому я могу взаимодействовать с моими источниками данных и более сложными вычислениями и логикой.
  2. Но JS, отображаемый на основе страницы с использованием jasonresult, кажется лучшим выбором.

Не уверен насчет шаблона программирования:

Как рендеринг JavaScript в контроллере соответствует Model View Controller

1 Ответ

1 голос
/ 09 января 2012

MVC - это шаблон проектирования, который заключается в разделении интересов.Я часто слышу, что JavaScriptResult следует избегать, поскольку он нарушает этот принцип.По моему мнению, вы должны помнить, что MVC предоставляет вам мощные инструменты, но вам решать, что вы будете с ними делать.JavaScript XHR / Ajax может предоставить больше, чем только рендеринг с графическим интерфейсом, но его следует использовать с осторожностью.Что ж, факт заключается в том, что можно упустить даже самые простые методы, но это не значит, что мы не должны их использовать:)

Конечно, использование JavaScript на вашей странице и подача его с помощью JSON прекрасно ипредпочтительнее, в большинстве случаев этого достаточно.Однако иногда вам нужно будет выбрать, хотите ли вы, чтобы он был на 100% совместим с шаблоном MVC или принципом СУХОЙ / другой хорошей практикой.Я думаю, что лучше делать то, что, по вашему мнению, имеет смысл в конкретной ситуации.

Давайте возьмем метод GetContainerUpdateScript помощника WebGrid http://msdn.microsoft.com/en-us/library/system.web.helpers.webgrid.getcontainerupdatescript(v=vs.99).aspx он предоставляет jquery oneliner для обновления данных вашей веб-сетки.В этом случае все это в представлении, но похожий код может быть частью контроллера - скажем, сценарий, который создает кучу запросов POST на основе некоторого уникального идентификатора (например, подобного sessionID).

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

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