隐藏我有一个自定义控制未加载脚本,这完全依赖于jQuery插件。一切正常,因为它应该是,但问题出现时控制设置可见= false或其父母的任何不可见。理想情况下,当asp.net控件设置为可见时,引擎不会渲染它,所以我的控件不会在页面加载时呈现。并且,当控件不渲染时,它不会加载JavaScript资源,因此当控件在回发中显示时,jquery插件不会绑定。这是一个非常基本的问题,作为开发人员,应该使用它,他们只是将控件拖放到他们的页面上,假设它完美地工作。我认为必须有一个解决方法。以下粘贴是我如何加载资源。自定义控制:当控制在页面加载
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文件并没有被加载,也没有任何浏览器在加载的资源列表中显示它们。
是否有任何解决问题的办法,或者是有什么我做错了吗?我现在对这个问题真的很无奈,希望得到任何帮助。
非常感谢您的回答。这个问题还没有解决,今天有一段时间会尝试。 –