我正在使用ASP.net。
我试图调用我正在使用的页面的基类上存在的方法。我想通过Javascript调用此方法,并且不需要ASP.net处理任何渲染。
什么是最简单的方法来实现这一目标。
我看过PageMethods,由于某些原因它没有工作,发现很多其他人都遇到了麻烦。
答案 0 :(得分:2)
这取决于方法所依赖的内容,但假设它是静态方法或者它不依赖于页面生命周期来工作,您可以公开Web服务端点并使用您想要的任何Javascript调用机制来命中它使用
答案 1 :(得分:1)
您使用什么库来进行Ajax调用?如果您使用的是JQuery,那么您可以创建静态方法并在页面上调用它们。如果您需要进一步的帮助,请告诉我们!
答案 2 :(得分:0)
正如Thunder3建议的那样,公开一个Web服务。完成此操作后,您可以使用ScriptManager(或ScriptManagerProxy)注册Web服务,这将导致生成JavaScript包装器。这个包装器为您提供了一个良好的调用接口。
答案 3 :(得分: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