Это пример RegisterClientScriptBlock
Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "key","scriptblock", True)
Зачем методу тип в качестве первого параметра?
Спасибо.





Из документов MSDN: «Клиентский сценарий однозначно идентифицируется по ключу и типу. Сценарии с одним и тем же ключом и типом считаются дубликатами».
По сути, это дает вам дополнительный способ однозначно идентифицировать ваши скрипты. У вас может быть одно и то же значение ключа для разных типов элементов управления.
Я сам задавался вопросом об этом. Насколько я могу видеть в Reflector, он не используется RegisterClientScriptBlock () напрямую, он передается только для использования методом GetHashCode () класса ScriptKey. Там он, вероятно, служит для уникальной идентификации блока скрипта, выходящего за рамки предоставленного пользователем ключа, поскольку он связан с указанным типом.
Есть сообщение о том, почему это может привести к проблемам, но я с таким ни разу не сталкивался. Все сводится к следующему: когда вы наследуете элемент управления, который имеет этот фрагмент кода, GetType вернет что-то еще. Таким образом, ключ будет другим, и сценарий будет добавлен во второй раз, если на вашей странице есть оба элемента управления. Это потенциально могло привести к проблемам с javascript.
Решением было бы не использовать GetType, а typeof(). В VB.Net:
Page.ClientScript.RegisterClientScriptBlock(GetType(MyClass), "key","scriptblock", True)
Но опять же, это исключительный случай.
Ссылка на сообщение в блоге не работает. Вот кто-то цитирует OP: alen.malhasoglu.com/2010/02/08/…