asp.net гарантирует, что JavaScript загружается только один раз - PullRequest
6 голосов
/ 07 января 2010

Я работал в веб-формах asp.net, и я делал UserControl, который зависит от небольшого количества JavaScript, который находится во внешнем файле.

Я хочу иметь возможность разместить ссылку на javascript внутри UserControl, чтобы гарантировать его загрузку на странице, но проблема в том, что UserControl может появляться на странице несколько раз, поэтому я хочу, чтобы скрипт был только загружен с первым экземпляром UserControl.

Есть ли простой способ сделать это в ASP.NET Webforms?

Ответы [ 2 ]

9 голосов
/ 07 января 2010

Используйте ClientScriptManager RegisterClientScript() методы для обработки этого. В вашем случае, поскольку вы включаете сценарий из внешнего файла, используйте RegisterClientScriptInclude().

В качестве альтернативы, если вы используете UpdatePanels, используйте ScriptManager эквивалентные Register...() методы.

0 голосов
/ 07 января 2010

Эту проблему также можно решить в самом файле JS, если вы управляете его содержимым.

var myObj = myObj || {};  // Variable to namespace your work

// Make sure we do our work only once
if (!(myObj.token)) {

    // do our work here...

    myObj.token = {};  // this ensure we won't enter the if block the next time

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