2009-08-25 2 views
0

Ну, я падаю на плагин jqGrid для jQuery и пытаюсь включить его в приложение ASP.NET MVC. У меня есть все функции funcitonality, работающие благодаря различным сообщениям в блоге из-за ловушек.ASP.NET MVC с редактированием формы jqGrid - действие контроллера для выбора опций

Теперь я пытаюсь выполнить упражнение, как вернуть данные из контроллера таким образом, чтобы заполнить опции выбора в форме редактирования.

Я знаю, что мне просто нужно поставить jqGrid с URL-адресом, чтобы позвонить, чтобы вернуть параметры, но для жизни я не могу думать (может быть, слишком мало кофе?) О том, как это сделать от контроллера.

например, значения списка выбора могут быть жестко обозначены как «1: один, 2: два», мне просто нужно вернуть объект json в этой форме? Или строка?

Любая помощь была бы принята с благодарностью.

ответ

0

... К сожалению, главная проблема, у меня был пытается выяснить, что тип возвращаемого значения, чтобы положить на действие контроллера. В конце концов, это было так просто, что я не мог увидеть лес для деревьев. Я закончил с простым выводом строки из действия контроллера:

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

Так просто это больно признать, что я пропустил.

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}}); 
     }, 

И код в контроллере:

общественного ActionResult GetAreaStrList() { возврат содержимого ("171: русская Федерация; 86: Другой Страна"); }

Я был вдохновлен из этого блога: http://geekswithblogs.net/renso/archive/2009/07/02/jqgrid-dynamically-loading-select-options.aspx

 Смежные вопросы

  • Нет связанных вопросов^_^