使用datatables和jsonresult排序问题

时间:2011-04-19 16:57:18

标签: jquery asp.net-mvc json

我正在使用datables(datatables.net)和sAjaxSource

像这样

 $(document).ready(function() {


            $('#userTable').dataTable({
                "sAjaxSource": '<%= Url.Action("GetUserData", "Home") %>',
                "bJQueryUI": true,
                "sPaginationType": "full_numbers",
                "bStateSave": true,
                "bRetrieve": true,
                "aoColumns":
             [
                { "bSortable": false },
                null,
                { "sType": "title-string" },
                null,
                null,
                null,
                null,
                null
             ]
            });
        });

用于此的服务器方法就像这样

public JsonResult GetUserData()
{
   IList<string[]> userList = GetUserList();
   var sendData = new{aaData = userList};
   return new JsonResult {JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = sendData};
}

这里一切正常,我可以看到表格中的数据。 但是,我的一些用户属性包括一些图片链接 例如

  userData[0] = string.Format("<img src='{0}' alt='{1}' title='{1}' />", picUrl, title);

但在表格本身中始终缺少“/”。所以这些columuns的分类不起作用。如果我做了

 userData[0] =  string.Format("<img src='{0}'></img>", imgUrl);

缺少endtag ...在tablecell中值始终为

<img src='url' title='abc'>

所以它的'/'缺失或img的整个结束标记。

json结果的开始:

{"aaData":[["\u003cimg src=\u0027/Content/image.png\u0027 class=\u0027profilePicture\u0027 /\u003e", ...[other elements]

其他人有没有这个问题?

编辑:我刚注意到它也将'转换为'

2 个答案:

答案 0 :(得分:0)

您可以做的一件事是,对于图片列,define your own sort methodoverride what datatables is doing natively。这样你就可以忽略这些图像,或者随心所欲地做任何事情。

答案 1 :(得分:0)

好的,我找到了解决方案..

没有排序的问题不是缺失/或者我只是改变了

userdata[0] = string.Format("<img src='{0}' alt='{1}' title='{1}' />", picUrl, title);

userdata[0] = string.Format("<img src='{0}' alt='{1}' title=\"{1}\" />", picUrl, title);

并且比起作用: - )

我不知道为什么,但确实如此: - )

感谢@cdeszaq的支持