Как я понимаю, ваш js-шаблон используется позже, для рендеринга дополнительных портфелей, полученных с AJAX?
Если это так, вы можете либо - избавиться от js-tmpl и вернуться с предварительно обработанным ajax html
-ИЛИ-
Избавьтесь от предварительной визуализации на стороне сервера и используйте для этого только js. Второй, вероятно, «чище» - и если вы не хотите делать еще один ajax-запрос при запуске, вы всегда можете визуализировать исходные данные в json (как шаблон) и запускать на нем только js рендеринг func.
<h1>Portfolio's</h1>
<ul id="portfolioList" class="portfolio">
</ul>
<!-- portfolio template -->
<script id="portfolioTemplate" type="text/x-jquery-tmpl">
<li>
<span class="delete">[X] </span>
<a href="/portfolioDetails.aspx?p=${PortfolioId}">${Name}</a>
</li>
</script>
<!-- initial rendering -->
<script>
(function(){
var initData = [
<% foreach (Portfolio p in Portfolios) { %>
{ PorfolioId : <%=p.PortfolioId%>, Name : "<%=p.Name%>" },
<% } %>
];
$("#portfolioTemplate").tmpl(initData).appendTo("#portfolioList");
}());
</script>
Возможно, вам следует внести некоторые коррективы, но это должно работать без проблем.