Как получить / передать динамические элементы управления в методе $.post в asp.net?
Я динамически добавляю элементы управления на мою страницу из базы данных и использую метод $.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
,