2012-04-20 3 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은 수동으로 직렬화하여 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을 채우는 원인이됩니다.

관련 문제