title: How to post an array of complex objects with JSON, jQuery to ASP.NET MVC Controller?
body: <p>My current code looks like the following. How can I pass my array to the controller and what kind of parameters must my controller action accept?</p>
  
  <pre><code>function getplaceholders() {
      var placeholders = $('.ui-sortable');
      var result = new Array();
      placeholders.each(function() {
          var ph = $(this).attr('id');
          var sections = $(this).find('.sort');
          var section;
  
          sections.each(function(i, item) {
              var sid = $(item).attr('id');
  
              result.push({ 'SectionId': sid, 'Placeholder': ph, 'Position': i });
          });
      });
      alert(result.toString());
      $.post(
          '/portal/Designer.mvc/SaveOrUpdate',
          result,
          function(data) {
              alert(data.Result);
          }, "json");
  };
  </code></pre>
  
  <p>My controller action method looks like</p>
  
  <pre><code>public JsonResult SaveOrUpdate(IList&lt;PageDesignWidget&gt; widgets)
  </code></pre>