I want to Serialize my MVC form to JSON using JQuery and then want to Deserialize some values like value of input field at backend in C# but i am unable to serialize it in json...Please help me in this issue.following is my code.
<script type="text/javascript">
$(function () {
$('#btnsearch').click(function (e) {
var searchname = $('#txtsearch').val();
var form = $(this).serializeArray();
DrawTable(form);
});
function DrawTable() {
var props = [];
props.push({ name: "FirstName", value: firstname });
BindDataTable({ AllowPaging: true, ShowFilter: false, ShowEditLink: true, EmptyTableText: 'No Data Found', SortIndex: 0, SortDirection: "asc" },
"#tblCustomers",
"@Url.Action("GetAllCustomers", "Customer")",
props,
[{ name: "Id", cellClass: "alignCenter", Sortable: true, index: 0 }, { name: "FirstName" }, { name: "ABN" }, { name: "Phone" }, { name: "Email" }, { name: "Address1" }, { name: "City" }, { name: "Country" }],
[{ name: "Id", type: "anchor", title: 'customerTable', viewtitle: 'View', link: '@Url.Action("Edit", "Customer")', index: 0 }]);
}
// DrawTable(data);
//$('#myInputTextField').on('keyup', function () {
// oTable.search($(this).val()).draw();
//});
});
</script>
Yes, it's a very old question and there is a lot of similar questions with answers:
But this is asking specifically for Asp.MVC: I have tested most of the answers and they fail to serialize forms encoded the way Asp.mvc works, when there are property of list type that Asp.MVC forms encodes as
TheProperty[1].SubProperty=Value
TheProperty[2].SubProperty=Value
The only serializer that treats that case correctly is this, when configured with the option
{ associativeArrays: false }
(thanks raphaelm22 for your solution!)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With