ARC*_*ARC 5 javascript c# asp.net-mvc jquery json
我想使用 JQuery 将我的 MVC 表单序列化为 JSON,然后想在 C# 中反序列化一些值,例如后端输入字段的值,但我无法在 json 中序列化它......请帮助我解决这个问题。以下是我的代码.
<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>
Run Code Online (Sandbox Code Playgroud)
是的,这是一个非常古老的问题,有很多类似的问题和答案:
但这是专门针对 Asp.MVC 的:我已经测试了大多数答案,当存在 Asp.MVC 表单编码为的列表类型的属性时,它们无法序列化以Asp.mvc 工作方式编码的表单
TheProperty[1].SubProperty=Value
TheProperty[2].SubProperty=Value
Run Code Online (Sandbox Code Playgroud)
当使用选项配置时,唯一正确处理这种情况的序列化器是这个
{ associativeArrays: false }
Run Code Online (Sandbox Code Playgroud)
(感谢 raphaelm22 提供的解决方案!)
您不能使用引用,$(this).serializeArray();因为它不是一种形式。this$('#btnsearch')
使用$("#your_form_id).serializeArray();或$("#your_form_id).serialize().
| 归档时间: |
|
| 查看次数: |
4515 次 |
| 最近记录: |