You should collect the data from inputs manually and construct JSON object that correspond to your C# model class. For example if you wait ProductViewModel object in your action method you can follow this example:
var myData = {
productName: $('#ProductName').val(),
cost: $('#Cost').val(),
// .. and so on
};
$.ajax({
data: JSON.stringify(myData),
// .. the other ajax options
});
It's even easier if you have form element. Just select the form with jQuery and call serialize method. The data will be encoded as a string for submission. The format will be application/x-www-form-urlencoded; charset=UTF-8 that is the $.ajax default too and you won't need to specified it. Example:
var myData = $('#myFormId').serialize();
$.ajax({
data: myData,
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
//..Other ajax options
});