好的,这很奇怪。我希望这是我做错了,而不是MS有两种技术根本无法协同工作。 (更新:参见HEAD部分中脚本标签顺序的帖子底部)
我正在尝试使用dataView模板和客户端验证。如果我包含对以下内容的引用:
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript"></script>
本身,dataview模板工作正常。但如果我提出以下参考文献:
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
然后我收到以下错误:
> Error: Type._registerScript is not a
> function Source File:
> http://ajax.microsoft.com/ajax/beta/0911/MicrosoftAjaxTemplates.js
> Line: 1
和
> Error: Sys.get("$listings") is null
> Source File:
> http://localhost:12370/Listings Line:
> 76
以下是调用dataview的代码:
$(document).ready(function () {
LoadMap();
Sys.require([Sys.components.dataView, Sys.scripts.jQuery], function() {
$("#listings").dataView();
Sys.get("$listings").set_data(listings.Data);
updateMap(listings.Data);
});
});
我真的很感激任何帮助。 谢谢!
更新:
我试过移动最后4个脚本标签的顺序,但无济于事。
答案 0 :(得分:0)
您需要确保对“jquery.validate.min.js”的引用是在您引用“jquery.min.js”(或您正在使用的任何版本的jQuery库)之后。您尚未在代码示例中列出该内容。
答案 1 :(得分:0)
好吧,我最终得到了jquery验证工作,它与Start.js没有任何冲突。所以我的脚本标签看起来像这样:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/beta/0911/Start.js" type="text/javascript"></script>
<script src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>
奇怪的是,我必须在某人的示例中找到Web上的MicrosoftMvcJQueryValidation.js文件,因为在我创建解决方案时它没有包含在Scripts文件夹中。奇怪。