繁体   English   中英

如何将 javascript 加载到最初可能隐藏在 ASP.NET 中的控件上?

[英]How do I get javascript onto a control which might be initially hidden in ASP.NET?

我有一个控件,它最初在 1 页上显示,但在另一页上最初是隐藏的。

对于最初显示控件的页面,控件中的 javascript 工作正常,但对于最初隐藏控件的页面,javascript 不起作用。

我最终使用以下代码在后面的代码中注册了 javascript:

this.Page.ClientScript.RegisterClientScriptBlock(...);

它工作正常,但使用大型 javascript 块会变得丑陋。 另外,我想改变它,我必须重建解决方案,我宁愿不必这样做。

如果页面加载时没有发送到浏览器,是否有另一种使用标记注册 javascript 的方法? 我试图通过仅在页面加载时向浏览器发送我需要的内容来保持网络流量较小。

谢谢,

标记

问题不是使按钮不可见,而是有一个可以从 javascript 中单击的不可见按钮,并让按钮调用它的事件处理程序。

前任:

   <asp:button id="button1" runat="server" style="display:none">

是您应该使用的东西,或者您可以设置一个带有 display:none 的 css 类,然后将其分配给您的控件。

我假设您是通过使用 document.getElementById 来获得控件的,如果是这种情况,您可以在使用它之前检查它是否为 null:

var ctrl = document.getElementById("someID");
if (ctrl) {
    do something here...
}

如果通过将其服务器端属性“可见”设置为 false 来隐藏您的控件,则浏览器无法将 js 附加到任何内容,因为 ASP.NET 不呈现控件。 您可以尝试将 CSS 属性“display”设置为“none”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM