2012-04-20 16 views
1

私はデータベースから自分のページにコントロールを動的に追加しています。クライアントサイドで値を渡すために$ .post()メソッドを使用しています。今私は$ .post()メソッドでこのコントロールを渡したいと思います。 どのようにpostメソッドでこれらのコントロールを取得する方法を提案することができます。上記で

$.post("TestPage.aspx", { Type: 'SaveData', drpGender: $('#MainContent_drpGender').val(), cmbMonth: $('#MainContent_cmbMonth').val(), cmbYear: $('#MainContent_cmbYear').val(), drpTall: $('#MainContent_drpTall').val(), txtWeight: $('#MainContent_txtWeight').val() }, function (data) { 
        alert(data); 
       }, "html"); 

、drpGender、cmbMonth、drpTall、私は自分のページに追加ダイナミックコントロールがtxtheighです。

クライアント側では、SaveData()メソッドでデータを保存しています。そして私はこれがそう誰もがこれを行う方法を教えてください?

Request.Form["drpGender"]; 

を使用して、値をクライアント側を制御し使用していますか

ありがとうございます。

答えて

1

Request.Formは、フォームのエンコードされたデータではなく、JSONオブジェクトとしてコントローラに手動でデータをシリアル化して送信するため、Ajaxのポストには挿入されません。

$ .postで送信する前にオブジェクトをエンコードするURLを試してください。私は可読性のためにいくつかのコードを分割しました。必要ならば、$.param()コールをインラインで追加することができます。

// Get your submit data. 
var sendData = { Type: 'SaveData', drpGender: $('#MainContent_drpGender').val(), cmbMonth: $('#MainContent_cmbMonth').val(), cmbYear: $('#MainContent_cmbYear').val(), drpTall: $('#MainContent_drpTall').val(), txtWeight: $('#MainContent_txtWeight').val() }; 

// Form encode your data. 
sendData = $.param(sendData); 

// Send. 
$.post("TestPage.aspx", sendData, function (data) { 
        alert(data); 
       }, "html"); 

これは、コントローラは、フォームポストのような受信した要求を処理し、Request.Formを取り込むことになります。

関連する問題