Я работал в веб-формах asp.net, и я делал UserControl, который зависит от маленького бита JavaScript, который находится во внешнем файле.
Я хочу смочь поместить ссылку на JavaScript в UserControl, чтобы гарантировать, что это загружается на странице, но проблема состоит в том, что UserControl может появиться многократно на странице, таким образом, я только хочу, чтобы сценарий был загружен первой инстанцией UserControl.
Существует ли простой способ сделать это в Веб-формах ASP.NET?
Для этого используются методы ClientScriptManager
RegisterClientScript()
. В вашем случае, так как вы включаете скрипт из внешнего файла, используйте RegisterClientScriptInclude()
.
Альтернативно, если вы используете UpdatePanels, используйте эквивалентные методы ScriptManager
Register...()
.
Вы также можете решить эту проблему в самом файле 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
}