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

@Azamによって作成されたポイントを拡張するために、ページにhtmlをレンダリングしたくない場合は、returnタイプを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 に答える
0

Thunder3 が示唆するように、Web サービスを公開します。これが完了したら、Web サービスを ScriptManager (または ScriptManagerProxy) に登録できます。これにより、JavaScript ラッパーが生成されます。このラッパーは、呼び出しへの適切なインターフェイスを提供します。

于 2008-11-17T23:12:42.333 に答える