Я пытаюсь использовать Jstemplate от Google в качестве механизма создания шаблонов на стороне клиента на странице ASP.NET, и, похоже, он конфликтует с ASP.NET AJAX. Проблема не в jstemplate.js, а в util.js, который ему нужен как вспомогательный файл.
Я выделил проблему следующим образом:
<%@ Page Language = "VB" %>
<body>
<form id = "form1" runat = "server">
<asp:scriptmanager id = "ScriptManager" runat = "server" enablepartialrendering = "true">
<scripts>
<asp:scriptreference path = "http://google-jstemplate.googlecode.com/svn/trunk/util.js" />
</scripts>
</asp:scriptmanager>
</form>
</body>
</html>
Когда я запускаю это, я получаю эту ошибку
Microsoft JScript runtime error: 'type' is null or not an object`
в этой строке MicrosoftAjax.js:
Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) {
...
var etype = this.type = e.type.toLowerCase();
Ссылка на javascript в обычном блоке <script> (в отличие от ScriptManager) имеет тот же эффект.
Я не копался в этом, но подозреваю, что это просто коллизия пространства имен. Кто-нибудь успешно использовал файл Google util.js вместе с ASP.NET ajax? Или я должен просто изучить альтернативные клиентские механизмы шаблонов?





У нас была аналогичная проблема с ASP.net AJAX и jQuery. Проблема заключалась в пространстве имен $, поэтому нам пришлось вернуться к использованию пространства имен jQuery.
Ваша ошибка звучит похоже, поэтому я бы посмотрел, есть ли у вас альтернативное пространство имен для google util.js или создайте его для себя.
HTH
Мэтт
Спасибо - на самом деле, поскольку я не получил здесь ответов, я в конечном итоге использовал вариант микротемплинга Джона Ресига вместо jstemplates: ejohn.org/blog/javascript-micro-templating
Пока вы не упомянули об этом, я никогда не слышал о шаблонах javascript. Я очень впечатлен, поэтому спасибо за вопрос.
посмотрев на jstemplate Google - я не уверен, что дал вам правильный ответ ниже, извините.