2011-04-06 21 views
0

多くのオブジェクトやメソッドを持つオブジェクトと対話したいと思います。私は、特定の質問に対して答えることaccorodingのみの最初の時間ですべての質問と試験オブジェクトを取得するには、サーバー側に行きたいaspxページからJavaScriptを使用してオブジェクトと対話する

class Question 
    { 
     Boolean IsVisible; 
    }  
    class Exam 
     { 
      public 

list<Question> questions; 
     getShowenBs() 
     { 
      //piece of code 
     } 
     getHiddenBs() 
     { 
      //piece of code 
     } 


    } 

、いくつかの質問が表示され、他は消え、私はしないでくださいサーバー側にもう一度行く必要があります。今、Examオブジェクト内のメソッドを使用して表示して非表示にしたいと思います.Sencha、Prototype、JSONがそれを行うことができます。サーバー側に行くことなく?

すべてのアイデアは歓迎され、あなたは、サーバー側に行く以外の任意のものを変更することができ、私はそれを明確にし、あなたはJSONにすべてのこれらの質問をシリアル化するために必要なもののために

+0

「サーバ側に行かずに試験オブジェクト内のメソッドを呼び出す」という意味を明確にすることはできますか? 'Exam'クラスはサーバ上に実装されています。あなたはクライアント側からそのメソッドを呼び出すためにWebサービスを公開することができますが、それでもサーバー側に行く*としてカウントされます* IMHO ... –

+0

@Frederic:私は本当に知りません!!!私はいくつかの質問を非表示にする必要があり、あなたができる任意の提案があればサーバー側に行くことなく他の人を表示する必要があります –

+0

参照[この回答](http://stackoverflow.com/questions/5537271/how-to-use-c-enumerationあなたのケースでは、 'enum'の代わりに' List'ですが、ロジックは同じです。たとえば、次のようにします:-values-in-javascript/5537730#5537730) –

答えて

1

を私にお気軽に願う二回

サーバー上でサーバーとクライアントの間でロジックを渡すことはできません。そのため、JavaScriptでロジックをクライアントに実装する必要があります。

+0

私はクライアント側でメソッドを実装する必要があります –

+0

はい、する必要があります。 –

0

ajaxを使用してサーバー上の[WebMethod]を呼び出すだけです。

[WebMethod] 
public static Dictionary<String, String> myWebMethod(string arg1, string arg2, ...) { 

} 

は、それからちょうど正しいパラメータで"url/myaspx.aspx/myWebMethod"$.ajaxコールを使用しています。コールバックで返された辞書を処理できます。

+0

サーバーでWebサービスを作成します。 –

+0

@ thabet084これにより、クライアントはC#メソッドを呼び出すことができます。あなたのクラスの1つに追加してクライアントから呼び出すだけです – Raynos

関連する問題