我有一个UserControl,上面有很多字段。在ascx中,我有一个document.ready()函数,其中我用JQuery隐藏了一些字段。在普通页面上,当加载页面时,字段被隐藏,JavaScript工作。
当用户单击一个按钮时,我动态地将UserControl添加到页面中。UserControl添加了很好的内容,但是JavaScript并不是为了隐藏最初应该隐藏的所有字段。
起初,我认为这是因为它不能使用document.ready,因为我的实际页面已经加载了。但后来我意识到document.ready没有运行。然后,我将所有隐藏字段行封装在一个名为initializeControls()的函数中,并尝试在PageLoad事件中调用它。我想这些控件目前还没有完全加载到页面上,因为我得到了一堆未定义的错误。
有什么想法吗?
发布于 2015-05-19 20:48:49
这是我的错。当控件在回发上动态添加时,它实际上正在进入document.ready。问题是,在UserControls中,我忘记了所有东西都会自动获得不同的ID,并且我在jquery中隐藏了一个div。相反,我做了一个面板,并隐藏了基于ClientID的div。
发布于 2015-05-19 20:28:57
将下面的代码添加到c#中单击事件代码的末尾。一旦您的ASP.Net服务器处理完成并加载页面,它将调用您的javascript函数。
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "Script", "functionName();", True)另外,您可以首先隐藏字段并使用javascript显示这些字段。
https://stackoverflow.com/questions/30335356
复制相似问题