jQuery GetJSON вызывается дважды для частичного представления ASP.NET MVC - PullRequest
0 голосов
/ 09 июля 2009

У меня есть страница, которая содержит html.RenderPartial, который отображает частичное представление ASP.NET MVC.

Частичное представление используется в качестве диалогового окна jQuery и открыто со страницы, где оно отображается.

Проблема в том, что внутри частичного представления я хочу загрузить и сохранить переменную при отображении диалогового окна. Эти данные используются для поиска во время работы внутри диалога. Но когда загружается страница с частичным представлением, jQuery getJson внутри частичного представления вызывается дважды. Зачем?

Код в частичном представлении выглядит следующим образом:

<script type="text/javascript">
$(function() {
    var groups = null;    

    $.getJSON("/RessourceGroup/List", null, function(data) {
        groups = data;
    });

В Firebug я вижу, что страница (представление) загружается один раз, но сценарий выше в частичном представлении все еще вызывается дважды. Почему?

1 Ответ

1 голос
/ 09 июля 2009

Похоже, что он будет загружен при загрузке страницы. Вы также перезагружаете партиал через AJAX, когда появляется диалоговое окно? Если это так, то, вероятно, он снова запустится.

РЕДАКТИРОВАТЬ : На основании вашего обновления я подозреваю, что тег сценария находится внутри DIV и что DIV клонируется при вызове диалогового виджета. Перемещение скрипта за пределы DIV, которое использует диалог, должно решить вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...