2008-10-07 99 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