Asp.net mvc 3 使用选择菜单进行列筛选(数据表)

Asp.net mvc 3 使用选择菜单进行列筛选(数据表),asp.net-mvc-3,datatables,filtering,Asp.net Mvc 3,Datatables,Filtering,你好 我正在使用MVC3和jquery数据表插件。要点是使用选择菜单进行列过滤(进一步多选) 这是我的JS,与此非常相似: 一切都很顺利,但如果我制作这样的对象数组: "aaData": [ ['User1', 'Central'], ['User2', 'Central'], ] "aaData": [ { "User": "User1", "Region": "Central", }, { "User": "User

你好

我正在使用MVC3和jquery数据表插件。要点是使用选择菜单进行列过滤(进一步多选)

这是我的JS,与此非常相似:

一切都很顺利,但如果我制作这样的对象数组:

  "aaData": [
  ['User1', 'Central'],
  ['User2', 'Central'],
]
       "aaData": [
  {
      "User": "User1",
      "Region": "Central",
  },
  {
      "User": "User2",
      "Region": "Central",
  }
]
 User = SomeObject.User != null ? SomeObject.User : " ";
我在这行js中得到“无法读取未定义的属性'length'”错误:

       // ignore empty values?
            if (bIgnoreEmpty == true && sValue.length == 0) continue;

为什么会这样?我试图使用一些像或这样的附加组件,但在这两种情况下,我都遇到了一些问题。有什么建议吗?

看起来sValue为null,这意味着Json中的一个字段为null。你能粘贴完整的Json吗

这类问题有一些小技巧

为了确保非字段为空,您可以编写如下简单内容:

  "aaData": [
  ['User1', 'Central'],
  ['User2', 'Central'],
]
       "aaData": [
  {
      "User": "User1",
      "Region": "Central",
  },
  {
      "User": "User2",
      "Region": "Central",
  }
]
 User = SomeObject.User != null ? SomeObject.User : " ";

这将解决您的问题,因为值将不再为空。

Hi,all。也许对某些人有用。我找到了解决办法。只需更改var aData=this.fnGetData(iRow);var sValue=aData[iColumn]to
sValue=$(''+this.fnGetData(iRow,iColumn)+'').text()