2011-01-25 10 views
1

からJavaScriptメソッドを呼び出します。は、私は後ろの私のコードでWebメソッドを持っているコードビハインドのWebメソッド

[System.Web.Services.WebMethod] 
public static string GetStateData(string state) 
{ 
    //this is where i want to call a javascript method "GetItems" 
} 

私は私のためにいくつかの値を取得するJavaScriptのメソッドを持っていると私はそれらのいずれかを使用取得したいです私のWebメソッドの値は

function GetItems() { 
     var variable1= $("#<%=Item1.ClientID %> input:checked"); 
     var variable2= $("#<%=Item2.ClientID %>").val(); 
     return [variable1.text(), variable2.val(), variable2];} 

私は、Webメソッドからjavascriptの方法が、毎回JavaScriptからWebメソッドを呼び出す方法で私の検索結果を呼び出すための方法を探してきました。

私はこれを見つけたが、それは、Silverlightのプロジェクトのコードビハインドから行われ、私は私のコードビハインドそれへの正しい参照が

var result = HtmlPage.Window.Invoke("GetItems"); 

なかった追加しようとした際の基準はありました私は行方不明ですか?あなたの応答

+0

達成しようとしているものは何ですか? – Oded

答えて

3

あなたはそれを行うことができないため

感謝。あなたはAJAXを通してWebメソッドを呼び出します。特定のページオブジェクト(それは静的ではない)について何も知らないサーバー上の静的メソッドに小さな情報を送信します。

あなたがしたいことは、それらの値とデータをAJAX呼び出しでwebmethodに送信することです。あなたは完全なポストバックをしないので、あなたはウェブメソッドにパラメタとして渡すものを除いて、ページの現在の状態について何も知らない。

情報が必要なときに最初に情報を送信するか、クライアントが情報を持つ別の関数にajaxコールバックしてそこから続けるようにするには、何らかのフラグを付けて返します。

0

webmethodからjavascriptを呼び出す代わりに、webmethodの戻り値を使用して、呼び出すjavascript関数を決定します。

ウェブメソッドからjavascriptを呼び出すことは、私が知る限り可能ではありません。サーバー側とクライアント側のコードの違いを理解する必要があります。

関連する問題