gpt4 book ai didi

javascript - 在 JavaScript 中通过 ID 引用 ASP.NET 控件?

转载 作者:IT王子 更新时间:2023-10-29 03:03:19 26 4
gpt4 key购买 nike

当呈现 ASP.NET 控件时,它们的 ID 有时会发生变化,就像它们在命名容器中一样。例如,Button1 在呈现时实际上可能具有 ctl00_ContentMain_Button1 的 id。

我知道您可以在 .cs 文件中将 JavaScript 编写为字符串,获取控件的 clientID 并使用 clientscript 将脚本注入(inject)页面,但是有没有一种方法可以使用 ASP 直接从 JavaScript 引用控件。 NET Ajax?

我发现编写一个函数来递归解析 dom 并找到一个包含我想要的 id 的控件是不可靠的,所以我一直在寻找最佳实践而不是变通方法。

最佳答案

Dave Ward 的这篇文章可能有您要找的内容:

http://encosia.com/2007/08/08/robust-aspnet-control-referencing-in-javascript/

文章摘录:

Indeed there is. The better solution is to use inline ASP.NET code to inject the control’s ClientID property:

$get('<%= TextBox1.ClientID %>')

Now the correct client element ID is referenced, regardless of the structure of the page and the nesting level of the control. In my opinion, the very slight performance cost of this method is well worth it to make your client scripting more resilient to change.

还有 Dave 从该帖子的评论线程中提取的一些示例代码:

<script>
alert('TextBox1 has a value of: ' + $get('<%= TextBox1.ClientID %>').value);
</script>

我上面链接的文章的评论线程也有一些很好的讨论。

关于javascript - 在 JavaScript 中通过 ID 引用 ASP.NET 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/641280/

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