У меня есть настраиваемый элемент управления, который полностью зависит от jquery-плагинов. Все работает нормально, как предполагается, но проблема возникает, когда элемент управления установлен Visible = false или любой из его родителей не является видимым. В идеале, когда элемент управления asp.net установлен Visible false, движок не отображает его, поэтому мой элемент управления не отображается на загрузке страницы. И когда элемент управления не отображает, он не загружает ресурсы javascript, и, следовательно, плагины jquery не связываются, когда элемент управления отображается на обратной стороне. Это очень простая проблема, и как разработчики, которые должны использовать ее, они просто собираются перетащить элемент управления на свои страницы, предполагая, что он работает отлично. Думаю, для этого должна быть работа. Ниже показано, как я загружаю ресурсы.Пользовательский контроль: скрипты не загружаются, когда управление скрыто на pageload
ClientScriptManager cs = this.Page.ClientScript;
#region Loading JavaScript File(s)
string MenuPlugin = "MainMenuControl.Scripts.javascript_main.js";
cs.RegisterClientScriptResource(typeof(MainMenuControl.MenuControl), MenuPlugin);
string MenuInitializer = "MainMenuControl.Scripts.BuildMenu.js";
cs.RegisterClientScriptResource(typeof(MainMenuControl.MenuControl), MenuInitializer);
#endregion
#region Loading CSS File(s)
string cssUrl = Page.ClientScript.GetWebResourceUrl(this.GetType(), "MainMenuControl.Styles.MenuStyle.css");
HtmlLink cssLink = new HtmlLink();
cssLink.Href = cssUrl;
cssLink.Attributes.Add("rel", "stylesheet");
cssLink.Attributes.Add("type", "text/css");
this.Page.Header.Controls.Add(cssLink);
#endregion
#region Loading Image(s)
Page.ClientScript.GetWebResourceUrl(typeof(MainMenuControl.MenuControl), "MainMenuControl.Images.down.gif");
string script = string.Format(@"initializeMenu('{0}');", Page.ClientScript.GetWebResourceUrl(typeof(MainMenuControl.MenuControl), "MainMenuControl.Images.down.gif"));
Page.ClientScript.RegisterStartupScript(Page.GetType(), "InitImage", script, true);
#endregion
В третьей последней строке кода я вызываю функцию с правильно загруженным URL-адресом изображения. Но по какой-то причине файлы javascript (ы) делают (и) nt load, и ни один браузер не показывает их в списке загруженных ресурсов.
Есть ли какое-либо решение проблемы или есть что-то, что я делаю неправильно? Я действительно беспомощно отношусь к этой проблеме сейчас и буду признателен за любую помощь.
Большое спасибо за ваш ответ. Проблема все еще не решена, попробуем ее когда-нибудь сегодня. –