Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/39: Рейтинг темы: голосов - 39, средняя оценка - 4.54
TXo

Вызов процедуры C# из JavaScript

28.04.2012, 15:38. Показов 7160. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, на C# есть процедура
Code
1
2
3
4
private void Save_Page()
{
...
}
как реализовать вызов этой процедуры с JavaScipt (например на событие onclick)?

На другом форуме ответили через WebMethod, но сколько не копался нормальной инфы не нашел.
Если можно какой нибудь пример...заранее спасибо
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2012, 15:38
Ответы с готовыми решениями:

Вызов хранимой процедуры на JavaScript
Кто-нибудь может поделиться примером вызова хранимой процедурой на JavaScriptе? Примеров на VBScript навалом, а вот с примерами на...

Вызов процедуры VBScript изнутри JavaScript, а возможно ли ?...
Возник вопрос. Можно ли изнутри JAVAScript вызывать процедуру на VBScript ? Когда я пытаюсь проделать такое, у меня выскакивает ошибка. В...

Вызов метода C# из JavaScript
Пишу сайт на ASP.NET и у меня возникла трудность. Необходимо чтобы функция на JavaScript вызывала функцию C#. Подскажите как это...

3
57 / 57 / 15
Регистрация: 22.09.2011
Сообщений: 319
29.04.2012, 13:54
Более понятно сформулируйте вопрос, что значит вызвать С# функцию с JavaScript?
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
29.04.2012, 14:08
Лучший ответ Сообщение было отмечено как решение

Решение

Стандартный вариант с контролом:
HTML5
1
<asp:Button runat="server" onclick="SavePage"/>
C#
1
protected void SavePage(object sender,EventArgs e) {  Save_Page();  }
Вариант обратной передачи:
HTML5
1
<input type="button" onclick="<%=GetPostBackEventReference(this);%>;return false;" />
C#
1
2
3
4
5
6
7
public partial class MyPage : System.Web.UI.Page,IPostBackEventHandler
    {
        public void RaisePostBackEvent(string eventArgument)
        {
            Save_Page();
        }
    }
Варианты с ajax-ом:
обратный вызов:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
        function CallServer() {
            var arg = "argument";
<% Response.Write(ClientScript.GetCallbackEventReference(this, "arg", "CallServerResult", null)); %>;
        }   
 
        function CallServerResult(result)
        {
            alert(result);
        }
    </script>
HTML5
1
    <input type="button" onclick="CallServer();return false;" />
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public partial class MyPage : System.Web.UI.Page,ICallbackEventHandler 
    {
        private string Result;
 
        public string GetCallbackResult()
        {
            return Result;
        }
 
        public void RaiseCallbackEvent(string eventArgument)
        { 
            Save_Page();
            Result = eventArgument + " ok";
        }
    }
Вызов метода веб.сервиса:
JavaScript
1
2
3
4
5
6
7
8
9
10
    <script type="text/javascript">
        function CallServer() {
            CustomService.Service.Save_Page(CallServerResult);
            //или $.get("Service.svc/Save_Page",CallServerResult);
        }
 
        function CallServerResult(result) {
            alert(result);
        }
    </script>
HTML5
1
2
3
4
5
6
    <asp:ScriptManager runat="server">
        <Services>
            <asp:ServiceReference Path="~/Service.svc" InlineScript="false" />
        </Services>
    </asp:ScriptManager>
    <input type="button" onclick="CallServer();return false;" />
C#
1
2
3
4
5
6
7
8
9
10
11
12
[ServiceContract(Namespace = "CustomService")]
    [AspNetCompatibilityRequirements(
    RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class Service
    {
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        public string Save_Page()
        {
            return "save ok";
        }
    }
Вызов метода страницы:
JavaScript
1
2
3
4
5
6
7
8
9
    <script type="text/javascript">
        function CallServer() {
            PageMethods.Save_Page(CallServerResult);
        }
 
        function CallServerResult(result) {
            alert(result);
        }
    </script>
HTML5
1
2
<asp:ScriptManager runat="server" EnablePageMethods="true" />
<input type="button" onclick="CallServer();return false;" />
C#
1
2
3
4
5
6
7
8
public partial class MyPage : System.Web.UI.Page
    {
        [WebMethod]
        public static string Save_Page()
        {
            return "save ok";
        }
    }
P/S И это только в рамках asp net технологии, а так еще куча способов.
3
TXo
30.04.2012, 16:26
оо, большое человеческое спасибо. Вы меня спасли в буквальном смысле
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2012, 16:26
Помогаю со студенческими работами здесь

Вызов Javascript посредством C#
Думаю вопрос понятен, если нет то пояснение внизу: Есть некий DIV (по умолчанию скрытый) внутри которого содержится asp:Button,...

Вызов хранимой процедуры
Здравствуйте уважаемые форумчане. Уткнулся лбом и не знаю что дальше делать. Прошу Вашего совета. Ситуация такая: Есть храним. процедура...

Вызов процедуры и получение значений
Есть процедура CREATE PROCEDURE . @Period DateTime AS BEGIN select 1234 value select 'д1' detailName,2000 value union ...

Вызов javascript-функции из back-кода
Здравствуйте. Подскажите как вызвать javascript-функцию из back-кода. javascript-функция находится во внешнем подключаемом файле. Этот...

Вызов JavaScript функции из ASP кода
Подскажите пожалуйста, как вызвать JavaScript функцию из ASP кода ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru