1

私はかみそりビュー エンジンで MVC3 と共に jqgrid を使用します。jqgrid にはドロップダウン列があり、ドロップダウンを次のようにロードします...

colModel: [{ 
    name: 'Company', 
    index: 'Company', 
    width: 200, 
    editable: true, 
    edittype: 'select', 
    editoptions: { 
        dataUrl: '@Url.Action("PopulateDropdown", "ControllerName")' 
    }]

100行ある場合、コントローラーアクションは100回呼び出されます。したがって、私[OutputCache(Duration = 10, VaryByParam = "none", VaryByCustom = "Browser")]はmycontrollerで使用しました。

ドロップダウンリストの項目がビューで1回だけフェッチされ、同じものを使用して残りをバインドするように、他のアイデアを提案してください。

4

1 に答える 1

1

100 行ある場合は、一度にすべての行を編集する必要はありません。通常、インライン編集またはフォーム編集のいずれかを使用して、指定された1行を編集します。次に、 を押して行を保存し、Enter別の行を選択します。そのため、1 行だけが編集され、他のすべての行には、対応するセルにテキストが表示されます。

一方、サーバーの応答をキャッシュする必要がある場合は、JSON 応答の HTTP ヘッダーに直接'@Url.Action("PopulateDropdown", "ControllerName")'設定できます。Cache-Control: max-age=60

Response.CacheSetMaxAge (new TimeSpan (0, 1, 0)); // cache for 1 minute
于 2012-06-26T16:32:26.143 に答える