2009-07-01 9 views
3

JavaScriptアレイをquerystring経由で私の.ashxに送る必要があります。私の.ashx(ハンドラ)では、配列内の各値を解析して汎用リストを作成するメソッドを用意します処理のためにJavaScript配列を.ashxに送信

これを実行する方法を考えると、どちらもクエリ文字列に渡しますそのquerystringの値を取得し、それをC#配列に変換してmy .ashxのメソッドに渡す方法について説明します。

クエリ文字列に配列を渡すので、最初は、私は今、配列内の各値を介して第1の反復をクエリ文字列とJavaScriptで変数に追加し、それを渡すこの

var javascriptArray = [1212, 32321, 42342]; 

のようなものになるだろうと仮定します。だから私はこの

var querystringArray = "1212, 32321, 42342"; 

のようなもので終わるだろうと最終的にquerystringArrayは私.ashxに当たるURLにクエリ文字列パラメータとして渡されます。私はそのパラメータをつかむ一度

第二には、私は単なる文字列分割を行うとにそれを押し込むとC#の配列を返しますultility機能を使用するか、または作成しますと仮定します。それを私の方法に渡す。

これをすべてやる方が簡単かどうかは分かりません。思考?私はまだJavaScriptの構文で最大ではない。

+0

私の質問は、あなたがのためのHttpHandlerを使用しているものでしょうか? Javascriptを処理するだけですか?それだけの場合は、JSONとポストバックの組み合わせを使用することを検討しましたか? .Net上のJSON用のツールの1つはJSON .Net http://www.codeplex.com/Json – Emmanuel

答えて

3

Javascriptを

var myArray = [12, 34, 56]; 
var url = "MyHandler.ashx?dat=" + encodeURIComponent(myArray.join()); 

C#

// In Page_Load 
string[] dat = Request.QueryString["dat"].Split(","); 
+0

Niceです。私は既にC#側でsplit変数を書いていますが、あなたが.join()を実行できるかどうかは分かりませんでした。クール。 – PositiveGuy

+0

デフォルトでは、結合はカンマを使用しますが、次のように使用するために何かを渡すことができます:myArray.join( "")。 –

関連する問題