2008-10-07 94 views
0

我试图使用Google's jstemplate作为ASP.NET页面上的客户端模板引擎,它似乎与ASP.NET AJAX冲突。问题不是jstemplate.js,而是util.js,它需要它作为支持文件。Google util.js和ASP.NET AJAX之间的冲突?

Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) { 
... 
var etype = this.type = e.type.toLowerCase(); 

引用:

如下::

<%@ 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我已经分离出的问题正常的<script>块中的JavaScript(与ScriptManager内部相反)具有相同的效果。

我还没有挖到它,但我怀疑只是一个命名空间碰撞。有没有人成功地将Google的util.js文件与ASP.NET ajax一起使用?或者我应该看看另一种客户端模板引擎?

+0

说完看着谷歌的jstemplate - 我不知道我已经给你正确的答案之下,对不起。 – 2008-10-26 12:11:27

回答

2

我们有一个与ASP.net AJAX和jQuery类似的问题。问题归结于$命名空间,所以我们不得不恢复使用jQuery命名空间。

你的错误听起来很相似,所以我想看看你是否有一个替代命名空间的谷歌util.js或为自己设置一个。

HTH

马特

+0

谢谢 - 实际上,因为我没有在这里得到答复,所以我最终使用了John Resig的微模板方法而不是jstemplates的变体:http://ejohn.org/blog/javascript-micro-templating/ – 2008-10-26 14:06:45