在 ASP.NET Webforms 中如何 运行 JavaScript 添加 UserControl 到页面
In ASP.NET Webforms how to run JavaScript when adding a UserControl to a page
我有一个包含许多字段的用户控件。在 ascx 中,我有一个 document.ready() 函数,我用 JQuery 隐藏了一些字段。在加载页面时的常规页面上,字段被隐藏并且 JavaScript 有效。
比方说,当用户单击按钮时,我将 UserControl 动态添加到页面。 UserControl 添加得很好,但是 JavaScript 没有 运行 隐藏其中最初应该隐藏的所有字段。
起初我以为是因为它无法与 document.ready 一起使用,因为我的实际页面已经加载。但后来我意识到 document.ready 不是 运行。因此,我只是将所有隐藏字段行包装在一个名为 initializeControls() 的函数中;并尝试在 UserControl 的 PageLoad 事件中调用它。我猜此时控件尚未完全加载到页面上,因为我收到了一堆未定义的错误。
有什么想法吗?
将以下代码添加到 c# 中单击事件代码的末尾。一旦您的 ASP.Net 服务器处理完成并加载页面,它将调用您的 javascript 函数。
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "Script", "functionName();", True)
其他,您可以先隐藏您的字段,然后使用 javascript 显示这些字段。
这是我的错。当控件在回发时动态添加时,它实际上进入了 document.ready。问题是,在 UserControls 中,我忘记了所有内容都会自动分配一个不同的 ID,而且我在 jquery 中隐藏了一个 div。相反,我制作了 div 面板并根据 ClientID 隐藏它。
我有一个包含许多字段的用户控件。在 ascx 中,我有一个 document.ready() 函数,我用 JQuery 隐藏了一些字段。在加载页面时的常规页面上,字段被隐藏并且 JavaScript 有效。
比方说,当用户单击按钮时,我将 UserControl 动态添加到页面。 UserControl 添加得很好,但是 JavaScript 没有 运行 隐藏其中最初应该隐藏的所有字段。
起初我以为是因为它无法与 document.ready 一起使用,因为我的实际页面已经加载。但后来我意识到 document.ready 不是 运行。因此,我只是将所有隐藏字段行包装在一个名为 initializeControls() 的函数中;并尝试在 UserControl 的 PageLoad 事件中调用它。我猜此时控件尚未完全加载到页面上,因为我收到了一堆未定义的错误。
有什么想法吗?
将以下代码添加到 c# 中单击事件代码的末尾。一旦您的 ASP.Net 服务器处理完成并加载页面,它将调用您的 javascript 函数。
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType(), "Script", "functionName();", True)
其他,您可以先隐藏您的字段,然后使用 javascript 显示这些字段。
这是我的错。当控件在回发时动态添加时,它实际上进入了 document.ready。问题是,在 UserControls 中,我忘记了所有内容都会自动分配一个不同的 ID,而且我在 jquery 中隐藏了一个 div。相反,我制作了 div 面板并根据 ClientID 隐藏它。