Note that there are some explanatory texts on larger screens.

plurals
  1. POPosting complex types using Jquery to Asp.Net MVC
    text
    copied!<p>I am trying to make a rest service that receives complex types from a Jquery $.ajax post but I cannot seem to convince mvc to hydrate my complex objects in the controller. </p> <p>The following is some of my code:</p> <p>Controller:</p> <pre><code>[AcceptVerbs(HttpVerbs.Post)] public ActionResult ChargeUser(TransactionInfo transactionInfo, CardInfo cardInfo) { /// both transactionInfo and cardInfo are un-populated. } </code></pre> <p>DTOs:</p> <pre><code>[Serializable] public class CardInfo : ICardInfo { public string CCNumber { get; set; } public int ExpirationMonth { get; set; } public int ExpirationYear { get; set; } public string CardVerificationValue { get; set; } } [Serializable] public class TransactionInfo : ITransactionInfo { public string FirstName { get; set; } public string LastName { get; set; } public string Address1 { get; set; } public string Address2 { get; set; } public string City { get; set; } public string Region { get; set; } public string Country { get; set; } public string PostalCode { get; set; } public string Currency { get; set; } public decimal Amount { get; set; } } </code></pre> <p>Sample JSON that I am POSTing, looks like this:</p> <pre><code>"{"transactionInfo":{"FirstName":"Hal","LastName":"Lesesne","Address1":"504 Anytown Drive","Address2":"Sample Address 2","City":"Boone","Region":"NC","Country":"US","PostalCode":"28607","Currency":"USD","Amount":"1.5"},"cardInfo":{"CCNumber":"4222 2222 2222 2222","ExpirationMonth":"1","ExpirationYear":"2009","CardVerificationValue":"333"}}" </code></pre> <p>Using a jquery call like this:</p> <pre><code>function jQueryPost(data, action, onSuccess, onFailure) { $.ajax({ url: action, type: 'POST', data: data, dataType: 'json', contentType: "application/json; charset=utf-8", error: onFailure, success: onSuccess }); } </code></pre> <p>I hit the break point when debugging, but neither transactionInfo nor cardInfo are populated and have only default values for stings (null) and numerics (0).</p> <p>I assume that I am doing something wrong with my json formatting, but simply cannot figure it out. Any insight would be greatly appreciated.</p> <p>Best regards and thank you for your time.</p> <p>Hal</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload