我正在使用 ASP.net。
我正在尝试为我正在使用的页面调用基类中存在的方法。我想通过 Javascript 调用此方法,并且不需要由 ASP.net 处理任何渲染。
实现这一目标的最简单方法是什么。
我查看了由于某种原因无法正常工作的 PageMethods,并发现很多其他人在使用它们时遇到了麻烦。
YonahW
问问题
1061 次
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 回答