C# MongoDB objectID在datatables渲染中变为[object object]

C# MongoDB objectID在datatables渲染中变为[object object],c#,ajax,mongodb,datatables,C#,Ajax,Mongodb,Datatables,我正在使用mongoDB构建web应用程序作为数据库和数据表来处理我的表。 我的问题是,在渲染过程中,我获取了[object object],而不是从mongodb检索中获取ObjectID 因此,在html中,我有以下代码: var t = $("#general-table-list").DataTable({ sAjaxSource: "/AccountCategories/Get", "bFilter": false, "deferLoad

我正在使用mongoDB构建web应用程序作为数据库和数据表来处理我的表。 我的问题是,在渲染过程中,我获取了[object object],而不是从mongodb检索中获取ObjectID

因此,在html中,我有以下代码:

var t = $("#general-table-list").DataTable({
        sAjaxSource: "/AccountCategories/Get",
        "bFilter": false,
        "deferLoading": 0,
        "columnDefs": [
        {
            'targets': 2,
            'searchable': false,
            'orderable': true,
            'className': 'dt-body-center',
            'render': function (data, type, full, meta) {
                return '<a href="/AccountCategories/Details/' + full.Id.toString() + '" class="btn btn-info"><span class="fa fa-edit"></span> Edit</a>  ';
            }
        }],
        "select": [
            {
                "style" : "os",
                "selector": "td:first-child"
            }
        ],
        "columns": [
                { "data": null, "orderable": false },
                { "data": "Name", "orderable": false },
                { "data": "Action", "orderable": false }
        ],
        "order": [],
    })

    t.on('order.dt search.dt', function () {
        t.column(0, { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) {
            cell.innerHTML = i + 1;
        });
    }).draw();
以下是截图:

这是在UI上呈现的内容:

我怎样才能解决这个问题?谢谢你的帮助

==更新====

我通过更改Id成功地解决了这个问题 发件人:

致:


您的
Id
是一个完全解构的bson对象(如调试器中所示)。您的服务器似乎正在以这种方式序列化
Id
。在服务器上,你就可以解决这个问题

不能说我以前见过服务器序列化这样的Id(默认情况下)。与Mongoose一样,更常见的情况是,您会看到一个Id erronosuly jsonified为_bson对象,而不是一个简单的24字符十六进制字符串


无论如何,解决方案存在于您的mongo界面中,它是jsoninfyng API的结果。

谢谢,我已经设法修复了它,详细信息已添加到帖子中。:)
public JsonResult Get(DataTableParameters param)
{
    var data = _helper.GetData(param);
    return Json(data, JsonRequestBehavior.AllowGet);
}
[BsonId]
public ObjectId Id { get; set; }
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }