0

さて、私は jQuery 用の jqGrid プラグインに恋をしており、ASP.NET MVC アプリケーションに組み込むことを試みています。トラップに関するさまざまなブログ投稿のおかげで、基本的な機能はすべて動作しています。

私が今ワークアウトしようとしているのは、編集フォームで選択オプションを入力するような方法でコントローラーからデータを返す方法です。

オプションを取り戻すために呼び出すURLをjqGridに提供するだけでよいことはわかっていますが、私の人生では、コントローラーからこれをレンダリングする方法を考えることができません(コーヒーが少なすぎるのでしょうか?)。

たとえば、選択リストの値は「1:one;2:two」のようにハードコーディングできますが、その形式で json オブジェクトを返せばよいのでしょうか? それとも文字列?

どんな助けでも大歓迎です。

4

3 に答える 3

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:ロシア連邦;86:他国"); }

私はこのブログからインスピレーションを受けました: http://geekswithblogs.net/renso/archive/2009/07/02/jqgrid-dynamically-loading-select-options.aspx

于 2009-10-21T14:13:14.803 に答える
1

まだご覧になっていない場合は、この投稿が役立つと思います

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

于 2009-08-25T16:04:19.407 に答える
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 に答える