Это отличный вопрос, с которым я тоже борюсь. Моя текущая проблема касается только ситуаций в интрасети, когда мы контролируем как клиента, так и сервер. В этих ситуациях у меня такое чувство, что лучше всего идти на второй план. Я думаю, что важно, чтобы другой разработчик мог взглянуть на .aspx и понять суть страницы.
Например, если необходимо отобразить таблицу данных, вместо того, чтобы отправлять ее как json, а затем шаблонизировать ее на клиенте, что не очень хорошо показывает намерения, отправьте ее в виде обычного html-таблицы данных ASP.NET. фрагмент. Сетка данных, расположенная на .aspx, по крайней мере, показывает намерение отобразить табличные данные. И, вероятно, так проще сделать.
Теперь предположим, что вы хотите отобразить действительно необычную сетку данных, которую было бы трудно сделать, используя только ASP.NET. Я бы по-прежнему отправлял его как простую сетку данных, потому что jQuery может гораздо проще нарезать и нарезать его на клиенте, чем ASP.NET на сервере. И, вероятно, это также сэкономит пропускную способность. (О, я ВСЕГДА выключаю ВСЕ ViewState!) Я пытаюсь позволить ASP.NET выполнять семантику и простые вещи, в которых он хорош, а JQuery сделает все остальное.
На практике все становится более сложным и нечетким. Как давний парень Model View Presenter, я начинаю думать о View и Presenter как о клиенте. Страница .aspx - это просто шаблон, который показывает суть страницы. А выделенный код (.aspx.cs) - это не что иное, как тонкий слой, который делегируется модели.
Хотя я был очень доволен результатами этой архитектуры, я все еще чувствую смутное неудобство, в основном потому, что не могу выполнить модульное тестирование докладчика с помощью старого надежного NUnit, а также потому, что jQuery и JavaScript настолько мощны, что как играть с динамитом.
Обычные эксперты по архитектуре молчат, это слишком ново. Я на 100% уверен, что многие уже изучали именно такую ситуацию еще 30 лет назад, и рано или поздно все это будет подробно обсуждаться везде, куда бы вы ни посмотрели. Но это очень интересная ситуация, в которой мы сейчас находимся, я бы хотел, чтобы больше людей ставили свои 2 цента. Где Мартин Фаулер? Скотт Беллвер? Дядя Боб?
Mike