powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов функций из клиентского сценария
5 сообщений из 5, страница 1 из 1
Вызов функций из клиентского сценария
    #32743734
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем!
Можно ли вызвать функцию написанную в клиентском сценарии из
серверного кода, чтобы её вызов не был обработчиком какого-то события?
Заранее большое спасибо!
...
Рейтинг: 0 / 0
Вызов функций из клиентского сценария
    #32743765
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Библиотека классов .NET Framework

Метод Page.RegisterClientScriptBlock
Позволяют серверные элементы управления ASP.NET выпускать клиентские блоки сценария вСтраница.

[Visual Basic]
Public Overridable Sub RegisterClientScriptBlock( _
ByVal key As String, _
ByVal script As String _
)
[C#]
public virtual void RegisterClientScriptBlock(
string key,
string script
);
[C++]
public: virtual void RegisterClientScriptBlock(
String* key,
String* script
);
[JScript]
public function RegisterClientScriptBlock(
key : String,
script : String
);
Параметры
клавиша
Уникальная клавиша, которая идентифицирует блок сценария.
сценарий
Контент сценария, который отправляют клиенту.
Замечания
Клиентский сценарий сгенерирован только после открывающего тэга объекта Page <формируют runat = сервер> элемент. Блок сценария сгенерирован как объект, который выполняется, вывод определен, так что Вы должны включить оба тэга элемента <script>.

Идентифицируя сценарий с ключевыми, множественными экземплярами серверного элемента управления может запросить блок сценария без него выпускаемый к выходному потоку дважды.

Любые блоки сценария с теми же самыми ключевыми значениями параметра считают дубликатами.

Примечание: Не забывают включать тэги комментария HTML вокруг вашего сценария так, чтобы он не был предоставлен, если браузер запроса не будет поддерживать сценарии.
Пример
[Visual Basic, C#] следующий пример демонстрирует использование метода RegisterClientScriptBlock вместе с методом IsClientScriptBlockRegistered. Если ECMAScript, написанный в блоке кодового объявления не был уже зарегистрирован, как тестировано IsClientScriptBlockRegistered, вызов RegisterClientScriptBlock сделан.

[Visual Basic]
<html>
<head>
<script language="VB" runat="server">
Sub Page_Load( sender as Object,e as EventArgs)

'Form the script that is to be registered at client side.
Dim scriptString as String = "<script language=JavaScript> function DoClick() {"
scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<"
scriptString += "/"
scriptString += "script>"

If(Not IsClientScriptBlockRegistered("clientScript"))
RegisterClientScriptBlock("clientScript", scriptString)
End If
End Sub
</script>
</head>
<body topmargin="20" leftmargin="10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width=200">
<input type="button" value="ClickMe" onclick="DoClick()">
</form>
</body>
</html>

[C#]
<html>
<head>
<script language="C#" runat="server">

public void Page_Load(Object sender, EventArgs e) {

// Form the script that is to be registered at client side.
String scriptString = "<script language=JavaScript> function DoClick() {";
scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<";
scriptString += "/";
scriptString += "script>";

if(!this.IsClientScriptBlockRegistered("clientScript"))
this.RegisterClientScriptBlock("clientScript", scriptString);
}

</script>
</head>
<body topmargin="20" leftmargin="10">
<form id="myForm" runat="server">
<input type="text" id="show" style="width=200"> <input type="button" value="ClickMe" onclick="DoClick()">
</form>
</body>
</html>

[C++, JScript] Нет примеров для C++ или JScript. Для просмотра примеров на Visual Basic или C# нажмите на кнопку Языковой фильтр в левом верхнем углу страницы.

Требования
Платформы: Windows 2000, Windows XP Professional, семейство Windows Server 2003

См. также:
Класс Страницы | Члены Страницы | System.Web.UI Namespace | Члены Страницы (Синтаксис Visual J #) | Managed Extensions для программирования на C++


Синтаксис основан на .NET Framework версии 1.1.
Документационная версия 1.1.1.


--------------------------------------------------------------------------------

Пошлите комментарии, касающиеся данной темы.

© Корпорация Microsoft. Все права защищены.


Max Pro
...
Рейтинг: 0 / 0
Вызов функций из клиентского сценария
    #32743778
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или тут посмотри:
http://www.gotdotnet.ru/msdn.aspx?page_no=28821
Max Pro
...
Рейтинг: 0 / 0
Вызов функций из клиентского сценария
    #32743797
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Max Pro!
Спасибо большое за ответ! Сейчас сохраню и буду разбираться.
Может Вы ещё знаете делается установка ActiveX клиенту?
У меня в некоторых .asp файлах вставлен объект SVGView, который
нужно устанавливать на клиенте.
Как сделать так что если на клиенте SVGView ещё не установлен, то
запускалась бы программа установки, которая лежит на сервере, и устанавливала бы SVGView клиенту?
Заранее большое спасибо!!!
...
Рейтинг: 0 / 0
Вызов функций из клиентского сценария
    #32745475
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скажем, у яндекса флешка вставляется так(если плеер не установлен, то устанавливается с указанного в codebase адреса):

<script language="JavaScript">
var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
if(plugin){
plugin=(parseInt(plugin.description.substring(plugin.description.indexOf(".")-1))>=5);
}
else if((navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0)&&((navigator.userAgent.indexOf("Windows 95")>=0)||(navigator.userAgent.indexOf("Windows 98")>=0)||(navigator.userAgent.indexOf("Windows NT")>=0))){
document.write('<'+'script language="VBScript"'+'>\non error resume next\nplugin=(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n</'+'script'+'>');
}
if(plugin){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="760" height="90"><param name="movie" value="http://bs.yandex.ru/resource/MTS_k4_760090_B_v1-2_Y_18.swf?link1=http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><embed src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v1-2_Y_18.swf?link1=http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" quality="high" bgcolor="#FFFFFF" swLiveConnect="false" width="760" height="90" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object>');
}
else {
document.write('<a href="http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" title="МТС" target=_blank><img src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v7-6_Y_02.gif" alt="МТС" width="760" height="90" border="0" /></a>');
}
</script><noscript><a href="http://bs.yandex.ru/count/GNAFF8O7jAi30BjqQ7L1RKYY2Z82ofPR0wff60AkFEq6GdW3?rnd=1098026812" title="МТС" target=_blank><img src="http://bs.yandex.ru/resource/MTS_k4_760090_B_v7-6_Y_02.gif" alt="МТС" width="760" height="90" border="0" /></a></noscript>
ma X mo
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов функций из клиентского сценария
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]