2012-04-20 5 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, а не как данные, закодированные в форме.

Попробуйте URL-кодирование вашего объекта перед отправкой с помощью $ .post. Я разделил часть кода на читаемость - вы можете просто добавить звонок $.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.