我正在尝试在ASP.NET页面上使用Google's jstemplate作为客户端模板引擎,它似乎与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();
在普通<script>
块中引用javascript(与ScriptManager内部相反)具有相同的效果。
我没有挖到它,但我怀疑只有命名空间碰撞。有没有人成功使用过Google的util.js文件和ASP.NET ajax?或者我应该只研究其他客户端模板引擎?
答案 0 :(得分:2)
我们在ASP.net AJAX和jQuery方面遇到了类似的问题。问题在于$ namespace,所以我们不得不恢复使用jQuery命名空间。
你的错误听起来很相似,所以我想看看你是否有google util.js的替代命名空间或为你自己设置一个。
HTH
马特