I'm trying to store user input in a javascript array and send it to controller via ajax call. But all I get in controller's parameter is null. Here's the code:
<table class="table-condensed table-bordered table-striped table-responsive"> @foreach (var project in projects) { <tr> @foreach (var parameter in parameters) { <td> <input type="text" class="form-control remar" id=@i /> </td> i++; } </tr> } <tr> <td colspan=@(parameters.Count() + 1)> <button class="btn btn-primary pull-right" onclick="insert()">Submit Remarks</button> </td> </tr> </table> <script> function insert() { var remarks = []; jQuery(".remark").each(function () { remarks.push(jQuery(this).val()); }); $.ajax({ type: "POST", url: "@Url.Action("AddRemarksToEvaluationSheet", "Teacher")", data: JSON.stringify({ function_param: remarks }), contentType: "application/json; charset=utf-8;" }); } </script>
Controller:
public ActionResult AddRemarksToEvaluationSheet(string[] function_param)
{
return View();
}
Any help? P.S. the above code is edited. It worked!