0

好吧,我爱上了 jQuery 的 jqGrid 插件,并试图将它合并到 ASP.NET MVC 应用程序中。由于陷阱周围的各种博客文章,我拥有所有基本功能。

我现在想要锻炼的是如何从控制器返回数据,以便在编辑表单上填充选择选项。

我知道我只需要为 jqGrid 提供一个 URL 来调用以取回选项,但是对于我的生活,我想不出(也许是咖啡太少了?)如何从 Controller 渲染它。

例如,选择列表值可以硬编码为“1:one;2:two”,我只需要以这种形式返回一个 json 对象吗?还是字符串?

任何帮助将不胜感激。

4

3 回答 3

1

我认为这篇文章应该可以帮助你,如果你还没有看过的话

http://shashankshetty.wordpress.com/2009/03/04/using-jsonresult-with-jquery-in-aspnet-mvc/

于 2009-08-25T16:04:19.407 回答
1

为了动态填充选择下拉列表,只需在创建 jqgrid 的上方创建一个变量。

  var countries = $.ajax(
                        {url:'/Specimens/GetAreaStrList/',async: false, 
             success: function(data, result) 
           {
                if (!result) 
                alert('Failure to   retrieve the Countries.');
               }
            }
            ).responseText;

然后你填充网格

      {name:'AreaID', index:'AreaID', width:150, align:'left', editable:true, 
                      edittype:"select",editoptions:{size: 71} }
              ],
      onSelectRow: function(id)
      {
          if(id && id !== lastsel2)
          {
              jQuery('#list').restoreRow(lastsel2);
              jQuery('#list').editRow(id, true);
              lastsel2 = id;
          }
      },
      loadComplete: function()
      {
         jQuery('#list').setColProp('AreaID', {editoptions: {value: countries}});
      },

和控制器中的代码:

public ActionResult GetAreaStrList() { return Content("171:Russian Federation;86:Another Country"); }

我从这个博客中得到了启发:http: //geekswithblogs.net/renso/archive/2009/07/02/jqgrid-dynamically-loading-select-options.aspx

于 2009-10-21T14:13:14.803 回答
0

哎呀...我遇到的主要问题是试图找出控制器动作的返回类型。最后它是如此简单,我看不到树木的树木。我最终从 Controller 操作中得到了一个简单的字符串输出:

 public string ObjectList()
 {
    // replace this with the code to construct your list values
    return "1:one;2:two";
 }

如此简单,承认我错过了它很痛苦。

于 2009-08-25T23:32:52.777 回答