ASP.NET MVC2: проверка на стороне клиента не работает с Start.js - PullRequest
0 голосов
/ 29 апреля 2010

Хорошо, это странно. Я надеюсь, что я что-то не так делаю, а не то, что у 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);       
        });  
    });    

Я был бы очень признателен за любую помощь с этим. Спасибо!

UPDATE:

Я пытался перемещаться по порядку последних 4 тегов сценария, но безрезультатно.

Ответы [ 2 ]

0 голосов
/ 10 мая 2010

Что ж, я закончил тем, что получил проверку 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> 

Странно то, что мне пришлось найти файл MicrosoftMvcJQueryValidation.js в Интернете на чьем-то примере, так как он не был включен в папку Scripts при создании решения. Странно.

0 голосов
/ 29 апреля 2010

Вы должны убедиться, что ваша ссылка на "jquery.validate.min.js" является ПОСЛЕ вашей ссылки на "jquery.min.js" (или любую другую версию библиотеки jQuery, которую вы используете). Вы не указали это в своем примере кода.

...