2013-04-15 2 views
3

Мне просто интересно, как вы используете шаблоны подчеркивания в представлении .aspx, так как теги <% =%>, которые подчеркивают использование, получают захват рендерингом .aspx двигатель и дать мне ошибки.Как использовать шаблоны подчеркивания/javascript в представлениях ASP.Net MVC

Например:

<script type="text/template" id="my-template"> 
    <span class="event" title="<%= description %>"> 
     <%= title %> 
    </span> 
</script> 

Этот шаблон дает мне ошибку, так как .aspx движок рендеринга думает, что я пытаюсь связать этот материал к модели.

Спасибо.

ответ

10

От fine manual:

шаблон_.template(templateString, [data], [settings])
[...]
Если ограничители ERB стиля не ваша чашка чая, вы можете изменить настройки шаблона Underscore на использование различных символов для установки интерполированного кода. Определить интерполировать регулярное выражение для соответствия выражения, которые должны быть интерполированы дословно, побег регулярное выражение для соответствия выражения, которые должны быть вставлены после того, как HTML спасся, и оценить регулярное выражение для соответствия выражения, которые должны быть оценены без включения в результирующий строка.

Таким образом, если по умолчанию <%=...%>, <%-...%> и <%...%> разделители не работают для вас, то вы можете использовать разные с помощью простого изменения конфигурации. Например, если вы хотите использовать {%...%} вместо <%...%>, то сделать это после того, как будет загружен underscore.js и, прежде чем использовать _.template:

_.templateSettings = { 
    interpolate: /\{%=(.+?)%\}/g, 
    escape:  /\{%-(.+?)%\}/g, 
    evaluate: /\{%(.+?)%\}/g 
}; 

Демо: http://jsfiddle.net/ambiguous/TfB5M/