(я использую псевдокод)
У меня есть серия пользовательских элементов управления ASP.NET.Каждый включает в себя много javascript, поэтому у них есть соответствующие файлы .js.Они вставляют строку, такую как 'var this.clientid = new jsobject();'
, поэтому каждый элемент управления имеет на странице объект javascript с таким же идентификатором, как и у него.
Это прекрасно работает, за исключением того, что некоторые элементы управления зависят от других.Например, объект CatFlap должен знать о CatHouse.Таким образом, в своем конструкторе он будет принимать объект CatFlap, примерно так:
page.inject("var " + this.ClientID + " = new CatFlap(" + CatHouse.ClientID + ");";
однако в конструкторе для CatFlap CatHouse не определен, если на странице 2 пользовательских элемента управления находятся в противоположномзаказ, например.это происходит раньше, потому что он еще не сконструировал элемент.
Одно из решений - поместить объявление в document.ready (), но это не удается, потому что моя система управления немного сложнее, чем выше, с другими зависимостяминапример, CatFlapSwitch, в зависимости от CatFlap, и, таким образом, оба конструктора перейдут в document.ready (), и проблема снова проявится.
Существует множество наборов инструментов, которые имеют несколько пользовательских элементов управления, кто-нибудь знает, каким удается решить эту проблему?
Пример проблемы: http://jsfiddle.net/tckuM/
Если вы переключите две строки объявления объекта, вы получите сообщение об ошибке, мне интересно, как уменьшить это.