Можно ли для asp.net mvc 2 отображать представления в качестве шаблонов jquery-tmpl? - PullRequest
8 голосов
/ 02 ноября 2010

Мне нравится идея новых плагинов jQuery, разработанных MS, Templates and DataLinking, и на самом деле мне нужна повседневная работа, где они могут оказаться полезными. Дело в том, что HTML, который мне нужен для шаблонирования, является нетривиальным html, который использует преимущества как встроенных, так и пользовательских вспомогательных методов Html через инфраструктуру MVC 2. Кроме того, существует условный рендеринг на основе значений связанной ViewModel.

Я мог бы добросовестно воспроизвести логику рендеринга из синтаксиса представления MVC в синтаксисе jquery-tmpl, что включало бы выяснение всего сгенерированного HTML из используемых вспомогательных функций MVC. Однако это утомительно и отнимает много времени. Не говоря уже о других проблемах, таких как проверка на стороне сервера и на стороне клиента, и других вспомогательных функций HTML, таких как AntiForgeryToken (), хотя такие проблемы, вероятно, можно обойти стороной, если уметь использовать ограниченное использование jquery-tmpl.

Интересно, можем ли мы воспользоваться преимуществами логики и структуры, уже определенной частичным представлением MVC, и сделать так, чтобы он отображал шаблон jquery-tmpl вместо простого HTML? На первый взгляд, это выглядит так: вопрос перевода синтаксиса представления MVC в синтаксис jQuery-tmpl, сохранения всех циклов, условий и т. д.

Это вообще возможно? Я не знаю основы MVC насквозь, но знаю, что она предлагает большую расширяемость. Кажется, такая ситуация может быть полезной, если разобраться, да? Или я даже не в себе так думаю? Есть мысли или предложения?

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Похоже, вы, вероятно, захотите реализовать это как пользовательский ViewEngine. ViewEngines являются подключаемыми в MVC. JQuery-Tmpl ViewEngine, вероятно, будет просто говорить JSON с сервером. Капли разметки шаблона также могут быть представлены в ViewEngine как значения дочерних свойств в ответных сообщениях. Тогда ViewEngine будет выполнять рендеринг шаблонов и помещать их в цели региона и т. Д. Звучит до боли знакомо;;)

0 голосов
/ 10 ноября 2010

MVC 3 позволяет использовать несколько ViewEngines на одном сайте.

...