繁体   English   中英

为什么我们不能直接将asp.net控件ID作为javascript函数参数传递?

[英]Why we can not directly pass the asp.net controls id as javascript function argument?

<asp:Button ID="ButtonId" runat="server" Text="Button" OnClientClick="check(document.getElementById('<%=TextBox1.ClientID%>'))"/>

为什么我们不能使用上面的代码将TextBox1 ID传递给javascript函数?

ButtonId.OnClientClick = string.Format("check('{0}')", TextBox1.ClientID);

Page_Load中上述代码的用途是什么?

ClientId是呈现到浏览器中的控件的ID,它可能与控件的ID(即服务器端ID)相同或不同。 这就是为什么最佳实践是使用控件的ClientId属性或某种JavaScript方法来获取它的原因(通常是相对于您需要的位置,例如,使用thisthis.parentgetElementById等)。

当控件嵌套在另一个容器中时, ClientId将不同于ID属性。 在这种情况下,父控件的ID前面带有控件ID,以构成ClientId属性。

暂无
暂无

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

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