gpt4 book ai didi

c# - 如何在使用 asp.net 创建的 Javascript 中查找动态控件

转载 作者:行者123 更新时间:2023-11-28 02:49:58 24 4
gpt4 key购买 nike

我在 ASP.NET 中创建了动态控件,如下所示..

首先我创建了复选框

 CheckBox chkDynamic = new CheckBox(); 

然后

 TextBox txtDynamic = new TextBox();
txtDynamic.ID = "txtDynamic";

这些控件添加在tablecell中添加在tableRow中添加在Table中添加在aspPanel中(仅在设计页面创建的面板)

现在我需要什么..当选中复选框时,我想使用 JavaScript 清除 txtDynamic 文本框

我尝试了以下方法但不起作用..

 chkDynamic.Attributes["onclick"] = "javascript:document.getElementById('" + txtDynamic.UniqueID + "').value='';";

我也尝试将方法调用为

 chkDynamic.Attributes.Add("onclick", "javascript:ClearText(this)");

但是在这个方法中,下面的行给我错误找不到“txtDynamic”..因为控件动态添加。

 document.getElementById("<%= txtDynamic.ClientID %>").value="";

提前致谢......

最佳答案

经过大量调试后,我喜欢这个答案。 ASP.Net 在运行时做了什么,它通过附加父控件一些前缀来更改控件的 ClientID,因此在我在创建的所有 TR 的末尾添加整个表之前,现在我为解决此问题所做的操作我添加了将表格添加到面板 plDynamicControls.Controls.Add(tblGeneralControls); 然后我添加了以下代码,它的工作原理就像魅力

chkDynamic.Attributes["onclick"] = string.Format("yearSuffixCHK(this, '{0}')", txtDynamic.ClientID);
txtDynamic.Attributes["onchange"] = string.Format("yearSuffixTXT(this, '{0}')", chkDynamic.ClientID);

关于c# - 如何在使用 asp.net 创建的 Javascript 中查找动态控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4012479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com