猿问

ASP.NET MVC $ .post调用返回字符串...需要jqGrid格式的帮助

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提到但尚未完成工作。


绝地无双
浏览 554回答 3
3回答
随时随地看视频慕课网APP
我要回答