от
Я пишу веб-страницы в ASP.NET. У меня есть некоторые JavaScript-код, и у меня есть кнопка "Отправить" с событие click. Можно ли вызвать метод, который я создал в АСП с событие click в JavaScript?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

20 Ответы

0 голосов
от
Ну, если вы не хотите сделать это с помощью AJAX или любым другим способом и просто хотят нормальной ASP.NET обратная случиться, вот как вы это делаете (без использования каких-либо других библиотек): Это немного сложнее, хотя... :) я. В файле кода (предполагая, что вы используете C# и .Net 2.0 или позже) добавить следующий интерфейс на страницу вашего класса, чтобы сделать его похожим
public partial class Default : System.Web.UI.Page, IPostBackEventHandler{}
второй. Это должно добавить (используя вкладку-вкладку) этой функции в файл код:
public void RaisePostBackEvent(string eventArgument) { }
раздел III. В событие onclick в JavaScript, написать следующий код:
var pageId = '
0 голосов
от
Метод
__doPostBack()
работает хорошо. Еще одно решение (очень программистские) - просто добавлять невидимая кнопка ASP в разметку и щелкнуть метод JavaScript.
0 голосов
от
Библиотеки Microsoft Ajax для этого. Вы также можете создавать свои собственные решения, что предполагает использование AJAX для вызова своего собственного aspx (как в основном) файлы скрипта .Чистые функции. Предлагаю библиотеки Microsoft Ajax для. После установки и ссылки, вы просто добавить строку на странице загрузки или инициализации:
Ajax.Utility.RegisterTypeForAjax(GetType(YOURPAGECLASSNAME))
Затем вы можете делать вещи, как:
0 голосов
от
Вы можете сделать это асинхронно, используя .Чистая PageMethods Аякс. Смотрите здесь или здесь.
0 голосов
от
Я думаю, что блог Как выбрать
0 голосов
от
Статические, строго типизированный программирования всегда казалось мне очень естественным, поэтому сначала я сопротивлялся учим JavaScript (не говоря уже о HTML и CSS), когда мне пришлось создать веб-интерфейсов для моего приложения. Я сделаю все, чтобы обойти эту как перенаправляет на другую страницу, просто чтобы выполнить и действия на событие onload, так долго, как я могу код "чистом" C#. Вы найдете, однако, что если вы собираетесь работать с веб-сайтов, вы должны иметь открытый ум и начать думать более веб-ориентированным (то есть, не пытайтесь делать на стороне клиента вещи на сервере и наоборот). Я люблю ASP.NET WebForms и по-прежнему использовать его (как в MVC), но я скажу, что, пытаясь сделать вещи проще и скрывая разделение клиента и сервера, это может запутать новичков и на самом деле в конечном итоге сделать вещи в разы сложнее. Мой совет заключается в том, чтобы узнать некоторые основные JavaScript-код (как для регистрации событий, извлекать объекты DOM, манипулировать CSS и т. д.) и вы найдете веб-программирования гораздо более приятным (не говоря уж проще). Много людей говорили о различных библиотек AJAX, но я не вижу никаких реальных примеров "Аякс", так вот он идет. (Если вы не знакомы с AJAX, все это, делает асинхронный HTTP-запрос, чтобы обновить контент (или, возможно, выполнить действие со стороны сервера в вашу ситуацию) без перезагрузки всей страницы или делать полную обратную передачу. На Стороне Клиента:
0 голосов
от
Библиотеки Microsoft Ajax для этого. Вы также можете создавать свои собственные решения, что предполагает использование AJAX для вызова своего собственного aspx (как в основном) файлы скрипта .Чистые функции. Эта библиотека называется AjaxPro, которая была написана специалистом MVP по имени Майкл Шварц. Это была библиотека не была написана корпорацией Microsoft. Я использовал AjaxPro широко, и это очень хорошая библиотека, которую я бы порекомендовал для простых обратных вызовов к серверу. Он функционирует с версии Microsoft Ajax без проблем. Однако, я хотел бы отметить, как легко Microsoft сделала Аякса, я бы только использовать это, если это действительно необходимо. Это занимает много Javascript, чтобы сделать некоторые очень сложные функции, которые вы получаете от корпорации Майкрософт, просто опустив его в панель обновления.
0 голосов
от
Это так легко для обоих сценариев (то есть, синхронно/асинхронный) если вы хотите вызвать серверный обработчик события, например, событие click для кнопки. Для запуска обработчика события элемента управления: Если вы добавили scriptmanager на вашу страницу уже тогда пропустите шаг 1. Добавьте следующее В разделе клиентский скрипт страницы
//
0 голосов
от
Я пытаюсь реализовать это, но это не работает правильно. Страница проводки обратно, но мой код не выполняется. Когда я отладки страницы, RaisePostBackEvent никогда не увольняют. Одна вещь, я сделал иначе я делаю это в пользовательский элемент управления, а не аспн страницы. Если кто-то еще, как Мерк, и возникли проблемы в ближайшие этого, у меня есть решение: Когда у вас есть пользовательский элемент управления, похоже, вы также должны создать PostBackEventHandler в родительской страницы. И затем вы можете вызвать PostBackEventHandler управление пользователя, называя его напрямую. Смотрите ниже:
public void RaisePostBackEvent(string _arg)
{
    UserControlID.RaisePostBackEvent(_arg);
}
Где UserControlID это ID вы дали управление пользователя на родительскую страницу, когда вы вложили ее в размете. Примечание: Вы также можете просто вызывать методы, принадлежащие к этому элементу управления непосредственно (в этом случае вам нужно будет только обработчик RaisePostBackEvent на родительской странице):
public void RaisePostBackEvent(string _arg)
{
    UserControlID.method1();
    UserControlID.method2();
}
0 голосов
от
Возможно, вы хотите создать веб-сервис для ваших общих методов. Просто добавьте атрибут webmethodattribute за функции, которые вы хотите позвонить, и это о нем. Имея веб-сервиса с все ваши общие вещи также упрощает систему поддерживать.
...