Как вызвать метод через AJAX, вообще не вызывая рендеринга страницы?

Я работаю с ASP.net.

Я пытаюсь вызвать метод, существующий в базовом классе для страницы, которую я использую. Я хочу вызвать этот метод через Javascript и не требую, чтобы какой-либо рендеринг обрабатывался ASP.net.

Каким был бы самый простой способ добиться этого.

Я просмотрел PageMethods, которые по какой-то причине не работают, и обнаружил, что у многих других людей были проблемы с ними.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 051
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

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

Какую библиотеку вы используете для вызовов Ajax? Если вы используете JQuery, вы можете создавать статические методы и вызывать их на своей странице. Сообщите мне, если вам понадобится дополнительная помощь!

Как предлагает Thunder3, откройте веб-службу. Как только вы это сделаете, вы можете зарегистрировать веб-сервис с помощью ScriptManager (или ScriptManagerProxy), что приведет к созданию оболочки JavaScript. Эта оболочка дает вам хороший интерфейс для вызова.

Чтобы продолжить точку, сделанную @Azam, если вы не хотите отображать html на странице, вы можете установить тип возвращаемого значения на что-то еще, например xml, и выполнить response.write, как я в приведенном ниже коде. Во время GET я хочу отправить обратно html, но во время POST я отправляю немного XML по сети.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetCacheability(HttpCacheability.NoCache)
        If Request.HttpMethod = "GET" Then
            'do some work and return the rendered html
        ElseIf Request.HttpMethod = "POST" Then
            'do some work and return xml
            Response.ContentType = "text/xml"
            Response.Write("<data></data>")
            Response.End()
        Else
            Response.StatusCode = 404
            Response.End()
        End If
    End Sub

Другие вопросы по теме