ASP.NET ページでGoogle の 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>
(ScriptManager 内ではなく)通常のブロックで JavaScript を参照すると、同じ効果があります。
私はそれを掘り下げていませんが、名前空間の衝突があると思われます。ASP.NET ajax と一緒に Google の util.js ファイルを正常に使用した人はいますか? それとも、代替のクライアント側テンプレート エンジンを検討する必要がありますか?