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





Это зависит от того, на что опирается метод, но при условии, что это статический метод или что он не зависит от жизненного цикла страницы для работы, вы можете открыть конечную точку веб-службы и задействовать ее с помощью любого механизма вызова 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