0

我正在使用 ASP.net。

我正在尝试为我正在使用的页面调用基类中存在的方法。我想通过 Javascript 调用此方法,并且不需要由 ASP.net 处理任何渲染。

实现这一目标的最简单方法是什么。

我查看了由于某种原因无法正常工作的 PageMethods,并发现很多其他人在使用它们时遇到了麻烦。

4

4 回答 4

2

这取决于该方法所依赖的内容,但假设它是一个静态方法或者它不依赖于页面生命周期来工作,您可以公开一个 Web 服务端点并使用您想要使用的任何 Javascript 调用机制来访问它。

于 2008-09-15T22:31:28.330 回答
1

您使用什么库来进行 Ajax 调用?如果您使用的是 JQuery,那么您可以创建静态方法并在您的页面上调用它们。如果您需要进一步的帮助,请告诉我!

于 2008-09-16T00:51:10.100 回答
0

正如 Thunder3 建议的那样,公开一个 Web 服务。完成此操作后,您可以使用 ScriptManager(或 ScriptManagerProxy)注册 Web 服务,这将导致生成 JavaScript 包装器。这个包装器为您提供了一个很好的调用接口。

于 2008-11-17T23:12:42.333 回答
0

为了扩展@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
于 2008-11-17T23:21:17.763 回答