Шаблоны Jquery с Razor, как использовать Razor в текстовых / HTML-скриптах - PullRequest
5 голосов
/ 06 апреля 2011

Хорошо, так что это немного случайно, но ..

Использование MVC 3 (с механизмом просмотра Razor) с Knockout.js, который использует jQuery Templating, я столкнулся с небольшой проблемой, я уверен, что это возможнорешать.

Чтобы использовать jQuery-Tmpl, вам нужно предоставить шаблон в

<script type="text/html">
...template elements go here...
</script>

Теперь проблема в том, что движок бритвенного представления, похоже, не генерирует HTML внутри этих специфических скриптов.теги. Он обрабатывает стандартный html (script type = "text / javascript") отлично, но, похоже, просто ничего не делает с вышеупомянутым тегом script.

Кто-нибудь знает, как обойти эту проблему, например, как использовать MVC 3 Razor с jQuery-Tmpl?

Ответы [ 2 ]

3 голосов
/ 06 апреля 2011

В этом сообщении есть довольно хорошее решение: http://www.wiredprairie.us/blog/index.php/archives/1204

Это создает помощника "шаблона", который испускает теги начала / конца скрипта.

В противном случае, у меня есть несколько идей для размещения шаблонов во внешних файлах, что может стать еще одним способом избежать этой проблемы. Он включает в себя хранение шаблонов в файлах .html и вставку их на страницу в теги сценария. Конечно, есть много способов сделать это, хотя на стороне клиента или сервера, лишь несколько идей.

0 голосов
/ 18 октября 2012

Более общий подход, если вы хотите сохранить вещи в документе, заключается в использовании @ Html.Raw для вывода html без влияния на состояние синтаксиса во время редактирования.

Например:

@Html.Raw("<script type='text/x-dot-template' id='awesome_template'>")
   <!-- insert some awesomeness here -->           
@Html.Raw("</script>")

Мне немного больше нравится предложенный выше вспомогательный метод, но я не всегда смог его реализовать, так что это альтернативаего собственные преимущества (а именно ясность по сравнению с простотой использования и краткость)

...