我正在使用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]
其他人有没有这个问题?
编辑:我刚注意到它也将'转换为'
答案 0 :(得分:0)
您可以做的一件事是,对于图片列,define your own sort method和override 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的支持