2012-04-20 62 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沒有填充您的Ajax帖子,因爲您手動序列化並將數據作爲JSON對象發送到控制器,而不是Form編碼數據。

在使用$ .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

相關問題