没有服务器端 Javascript(除非您更改为实际使用 Javascript 作为服务器语言的 ASP.NET 以外的平台)。您正在做的是向 html 标签添加一个属性,并且代码将完全在客户端执行。
首先,让我们看看它是如何在没有服务器端代码和服务器端控件的情况下在 HTML 中完成的:
<span onclick="document.getElementById('Label2').innerHTML='Thank you';">Click me</span>
<span id="Label2"></span>
要改用Label
控件,从服务器端代码设置 onclick 属性,您可以这样做:
Label1.Attributes.Add("onclick", "document.getElementById('Label2').innerHTML='Thank you';");
只要控件不在命名容器内,这将起作用。如果是,控件的 id 会在容器名称前附加以保持它们的唯一性,因此您需要使用该ClientID
属性来找出它们的最终 id 是什么:
Label1.Attributes.Add("onclick", "document.getElementById('" + Label2.ClientID + "').innerHTML='Thank you';");
始终包含可用于从 Javascript 访问元素的ClientID
id,因此无论控件是否在命名容器中,最后一个代码始终有效。
要找出可以使用的属性,您应该查看 HTML 文档,例如用于span 元素的 Internet Explorer 文档。在查看特定功能的文档时,请注意标准信息,因为它会告诉您它是否适用于任何浏览器或仅适用于 Internet Explorer。