jqgrid中绑定下拉列中的问题

时间:2012-06-26 14:46:47

标签: asp.net-mvc asp.net-mvc-3 razor drop-down-menu jqgrid

我在razor视图引擎中使用jqgrid和MVC3,在jqgrid中我有一个下拉列,我加载了下拉列表...

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

如果我有100行,那么控制器动作被调用100次。因此我在mycontroller中使用了[OutputCache(Duration = 10, VaryByParam = "none", VaryByCustom = "Browser")]

请提出任何其他想法,以便下拉列表项仅在视图中获取一次,并使用相同的方法绑定其余项。

1 个答案:

答案 0 :(得分:1)

你有100行,你不需要一次编辑所有行。通常,使用内联编辑或表单编辑来编辑一个指定的行。然后通过按 Enter 并选择另一行来保存该行。因此,只有一行将被编辑,而所有其他行将只在相应的单元格中有一些文本。

另一方面,如果您确实需要从'@Url.Action("PopulateDropdown", "ControllerName")'缓存服务器响应,则可以直接在JSON响应的HTTP标头中设置Cache-Control: max-age=60

Response.CacheSetMaxAge (new TimeSpan (0, 1, 0)); // cache for 1 minute