양식을 serialize 된 값을 컨트롤러 (Web API 자체 호스트)에 게시하려고합니다. NameValueCollection이 올바르게 바인딩되지 않은 이유를 이해할 수 없습니다. jQuery를 사용하여 클라이언트 측 :웹 API 양식 데이터 수집
// Form Submit Handler
$('#form-parameters').submit(function (event) {
event.preventDefault();
var formData = $(this).serialize();
// Post serialized form data
postAssemblyParameters(formData);
});
// Post Form Data to controller test
function postAssemblyParameters(formData){
$.ajax({
url: http://localhost/api/test/1,
type: 'POST',
data: formData,
dataType: 'application/x-www-form-urlencoded',
success: function(x3d) {
},
error: function(xhr) {
}
});
}
서버 측 사용하여 웹 API 자체 호스트 :
public void Post([FromUri] int id, [FromBody] NameValueCollection formData)
{
Console.WriteLine(id); // OK
// Collection is NULL
foreach (var key in formData.AllKeys)
{
foreach (var val in formData.GetValues(key))
{
Console.WriteLine(key + ": " + val);
}
}
}
많은 감사합니다.
올바른 힌트, 감사합니다. – user1824269