【发布时间】:2021-01-04 15:41:40
【问题描述】:
我有这个 javascript 代码:
dataTable = $('#DT_load').DataTable({
"ajax": {
"url": "/books/getall/",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "name", "width": "20%" },
{ "data": "author", "width": "20%" },
{ "data": "isbn", "width": "20%" },
{ "data": "IdCategory", "width": "20%" },
{
"data": "id",
"render": function (data) {
return `<div class="text-center">
<a href="/Books/Upsert?id=${data}" class='btn btn-success text-white' style='cursor:pointer; width:70px;'>
Edit
</a>
<a class='btn btn-danger text-white' style='cursor:pointer; width:70px;'
onclick=Delete('/books/Delete?id='+${data})>
Delete
</a>
</div>`;
}, "width": "20%"
}
],
"language": {
"emptyTable": "no data found"
},
"width": "100%"
});
如果删除此行:
{ "data": "IdCategory", "width": "20%" },
该应用程序有效。
如果在“IdCategory”的位置,我写“isbn”,代码就可以工作。
我怀疑问题取决于类型,因为“IdCategory”是整数而不是文本。
有没有办法在 Javascript 端解决?还是我需要在c#端转换数据?
谢谢!
【问题讨论】:
-
也许您的回复包含 idCategory 而不是 IdCategory。在开发者控制台中检查您的 /books/getall 响应
-
字段名称为IdCategory,c#端的json正确返回数据而不会崩溃。
-
@mehmetx 提到响应数据是 idCategory。(见小 i),在你的 js 中你提到该列是大写的“I”。将其更改为小即可。
-
非常感谢!我确认你是对的,但我问如果在我有的模型中怎么可能: public int IdCategory { get;放; }
-
您的序列化程序(JsonConvert 或其他)使属性的第一个字母变小
标签: javascript c# jquery