ASP.NET MVC2:客户端验证不与Start.js一起使用

时间:2010-04-28 20:06:05

标签: c# asp.net-mvc-2 dataview client-side-validation

好的,这很奇怪。我希望这是我做错了,而不是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个脚本标签的顺序,但无济于事。

2 个答案:

答案 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文件夹中。奇怪。