ASP.NET MVC $ .post调用返回字符串...需要jqGrid格式的帮助
我正在尝试在用户编辑数据时动态填充jqGrid的下拉列表。我有很多工作,但下拉调用“undefined”中有一个值。我怀疑这是因为我将数据发送到网格的方式。我正在使用ASP.NET MVC 2,我正在使用jQuery获取下拉数据,如下所示:
var destinations = $.ajax({ type:"POST", url: '<%= Url.Action("GetDestinations", "Logger") %>', dataType: "json", async: false, success: function(data) { } }).responseText;
现在,jqGrid想要下拉列表的值格式如下:
value: "FE:FedEx; IN:InTime; TN:TNT"
我正在使用StringBuilder迭代我的集合并提供jqGrid想要的正确字符串:
foreach (var q in query){ sb.Append("ID:"); sb.Append(q.Destination); sb.Append("; ");}
我从我的控制器返回这个:
return this.Json(sb.ToString());
这都是膨胀,我获得了下拉列表所需的所有项目,但是有一个名为“undefined”的额外项目(最后一项)。
我认为问题是当我在FireBug中调试时,jqGrid的结果如下所示:
value: ""ID: One;ID: Two;ID: Three;ID: Four;ID: Five;""
看看有两套报价。这可能是因为当我说:
sb.ToString()
它可能生成引号,然后jqGrid添加第二组。但我不是百分之百。
处理这个问题的最佳方法是什么?任何建议将不胜感激。
解:
我通过使用返回ContentResult(sb.ToString();
我想使用dataUrl方法作为Oleg提到但尚未完成工作。