Thursday, February 13, 2014

mvc controller post action not working

some times we see that the post is not work, like as button or other. we can manage it using form and script to serialize the form to reach our controller action. define your action path, form id and method type in your form.


 <form id="subscriptionForm" action="/Category/Create" method="post"> 
 <div class="form-horizontal">  
     <h4>PIS_tblCategory</h4>  
     <hr />  
     @Html.ValidationSummary(true)  
     <div class="form-group">  
       <div class="form-group">  
         @Html.LabelFor(model => model.CategoryName, new { @class = "control-label col-md-2" })  
         <div class="col-md-10">  
           @Html.EditorFor(model => model.CategoryName)  
           @Html.ValidationMessageFor(model => model.CategoryName)  
         </div>  
       </div>  
       <div class="form-group">  
         @Html.LabelFor(model => model.GCompanyID, new { @class = "control-label col-md-2" })  
         <div class="col-md-10">  
           @Html.EditorFor(model => model.GCompanyID)  
           @Html.ValidationMessageFor(model => model.GCompanyID)  
         </div>  
       </div>  
       <div class="form-group">  
         <div class="col-md-offset-2 col-md-10">  
           <input type="submit" value="Create" class="btn btn-default" id="Save" />  
         </div>  
       </div>  
     </div>  
     @*}*@  
     <div>  
       @Html.ActionLink("Back to List", "Index")  
     </div> 
 </form>  

and script


  <script type="text/javascript">  
     $('#Save').click(function () {  
       var form = $("#subscriptionForm");  
       var url = form.attr("action");  
       var formData = form.serialize();  
       $.post(url, formData, function (data) {  
         $("#msg").html(data);  
       });  
     })  
   </script>  

Ensure that this project has Microsoft.Bcl.Build installed and packages.config is located next to the project file

In my Xamarin form application their was dependency Restclient on Microsoft.Bcl.Build Microsoft.Bcl. i just remove all using nuget and ...