Asp.net mvc 4 内联Jqgrid下拉绑定问题

Asp.net mvc 4 内联Jqgrid下拉绑定问题,asp.net-mvc-4,model-view-controller,jqgrid,inline,inline-editing,Asp.net Mvc 4,Model View Controller,Jqgrid,Inline,Inline Editing,我正在尝试将来自MVC操作控制器的数据列表绑定到一个内联JqGrid中。示例JSON数据如下 {Id:"1",FirstName:"Joy",Gender:"Male"}, {Id:"2",FirstName:"George",Gender:"Male"}, {Id:"3",FirstName:"Tessa",Gender:"Female"} 我试图在内联JqGrid中绑定一个性别下拉列表。下拉列表的示例数据如下所示 {Id:"17b4bf97-4ab0-49b1-ab01-072f4dbed

我正在尝试将来自MVC操作控制器的数据列表绑定到一个内联JqGrid中。示例JSON数据如下

{Id:"1",FirstName:"Joy",Gender:"Male"},
{Id:"2",FirstName:"George",Gender:"Male"},
{Id:"3",FirstName:"Tessa",Gender:"Female"}
我试图在内联JqGrid中绑定一个性别下拉列表。下拉列表的示例数据如下所示

{Id:"17b4bf97-4ab0-49b1-ab01-072f4dbed696",Gender:"Male"},
{Id:"f206d222-0608-4b92-b9dd-0cac5c66121",Gender:"Female"}
我已经按照如下方式配置了JqGrid

$("#tbl-users").CreateGrid({
   url: // MVC controller action url,
   colNames: ['User ID', 'First Name', 'Gender',....],
   colModel: [
   { name: 'UserID', index: 'UserID', sorttype: 'integer', hidden: true, key: true },
   {name: 'UserName', index: 'UserName', searchoptions: { sopt: ['cn'] }, editable: true},
   {name: 'Gender', index: 'Gender',  searchoptions: { sopt: ['cn'] }, editable: true,
  edittype: "select",
  formatter: 'select',
  editoptions: {
        dataUrl: // Url to get the list of Gender User from the MVC controller,
         buildSelect:
         function (response) {
                      //Code to build a drop down
           }
      }                  
  },
 });
在进行上述配置时,我无法在列表中显示性别值。我错过了什么?如果我能得到任何人的指导,那会很有帮助的。 我正在使用JqGrid 4.5.1

参考Gender editoptions中的add-value属性,editoptions的外观如下所示

$("#tbl-users").CreateGrid({
   url: // MVC controller action url,
   colNames: ['User ID', 'First Name', 'Gender',....],
   colModel: [
   { name: 'UserID', index: 'UserID', sorttype: 'integer', hidden: true, key: true },
   {name: 'UserName', index: 'UserName', searchoptions: { sopt: ['cn'] }, editable: true},
   {name: 'Gender', index: 'Gender',  searchoptions: { sopt: ['cn'] }, editable: true,
  edittype: "select",
  formatter: 'select',
  editoptions: {
value:"17b4bf97-4ab0-49b1-ab01-072f4dbed696:Male;f206d222-0608-4b92-b9dd-0cac5c66121:Female"
        dataUrl: // Url to get the list of Gender User from the MVC controller,
         buildSelect:
         function (response) {
                      //Code to build a drop down
           }
      }                  
  },
 });
将性别的返回值更改为GUID

{Id:"1",FirstName:"Joy",Gender:"17b4bf97-4ab0-49b1-ab01-072f4dbed696"},
{Id:"2",FirstName:"George",Gender:"17b4bf97-4ab0-49b1-ab01-072f4dbed696"},
{Id:"3",FirstName:"Tessa",Gender:"f206d222-0608-4b92-b9dd-0cac5c66121"}
用于动态加载

通过在页面加载时在Viewbag中指定值,可以在editoption中动态生成value for value属性的值

假设页面的操作作为控制器中的索引

public ActionResult Index() 
{   
ViewBag.Genders = "17b4bf97-4ab0-49b1-ab01-072f4dbed696:Male;f206d222-0608-4b92-b9dd-0cac5c66121:Female"; // You can create your logic with C#  
return this.View(); 
}
如下所示,在编辑选项的值属性中分配ViewBag.Genders

编辑选项:{value:@ViewBag.GenderTypes}


我希望这个主意能对你有所帮助。

非常感谢。你救了我整整一周的时间。:-)