Как вызвать метод через AJAX, вообще не вызывая визуализацию страницы? - PullRequest
0 голосов
/ 16 сентября 2008

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

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

Что было бы самым простым способом сделать это.

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

Ответы [ 4 ]

2 голосов
/ 16 сентября 2008

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

1 голос
/ 16 сентября 2008

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

0 голосов
/ 18 ноября 2008

Чтобы расширить точку, сделанную @ Azam , если вы не хотите отображать html на странице, вы можете установить тип возвращаемого значения на что-то другое, например xml, и сделать ответ. напишите как у меня в коде ниже. Во время 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
0 голосов
/ 18 ноября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...