2008-09-15 16 views
0

私はASP.netで作業しています。

私が使用しているページの基本クラスに存在するメソッドを呼び出そうとしています。私はJavascript経由でこのメソッドを呼びたいので、ASP.netでレンダリングする必要はありません。

これを達成する最も簡単な方法は何でしょうか。

何らかの理由で動作していないPageMethodsを見て、他の多くの人が問題を抱えていることがわかりました。ページをレンダリングさせずにAJAX経由でメソッドを呼び出す方法は?

答えて

2

これは、メソッドが依存しているものに依存しますが、静的メソッドまたはページライフサイクルに依存しないと仮定した場合、Webサービスエンドポイントを公開し、必要なJavascript呼び出しメカニズム使用する。

1

Ajaxコールを作成するライブラリは何ですか? JQueryを使用している場合、静的メソッドを作成してページ上で呼び出すことができます。さらなる助けが必要な場合はお知らせください。

0

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

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 
関連する問題