Нет серверного Javascript (если вы не перейдете на платформу, отличную от ASP.NET, где вы фактически используете Javascript в качестве языка сервера). Что вы делаете, это добавляете атрибут к тегу 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';");
Это будет работать до тех пор, пока элементы управления не находятся внутри контейнера именования. Если это так, к идентификатору элементов управления добавляется имя контейнера, чтобы сохранить их уникальность, поэтому вам нужно использовать свойство ClientID
, чтобы узнать, каков их окончательный идентификатор:
Label1.Attributes.Add("onclick", "document.getElementById('" + Label2.ClientID + "').innerHTML='Thank you';");
ClientID
всегда содержит идентификатор, который вы можете использовать для доступа к элементу из Javascript, поэтому последний код всегда работает независимо от того, находится элемент управления в контейнере именования или нет.
Чтобы выяснить, какие атрибуты вы можете использовать, вам следует обратиться к документации HTML, например к документации Internet Explorer для элемента span . Просматривая документацию для конкретной функции, обратите внимание на информацию о стандартах, поскольку она скажет вам, работает ли она в каком-либо браузере или только в Internet Explorer.