【问题标题】:How to preserve form values when sorting with an ASP.NET MVC4 WebGrid使用 ASP.NET MVC4 WebGrid 进行排序时如何保留表单值
【发布时间】:2013-01-03 07:16:31
【问题描述】:
我正在 MVC4 中构建一个搜索页面,其中包含一个过滤器表单和一个 webgrid 助手来显示数据。过滤和排序一切正常,除了当我单击要排序的列时,它会使用带有排序参数的 GET 控制器功能重新加载页面的初始版本,从而丢失过滤器设置。我真的很想将表单重新提交给 POST 控制器函数,以便使用和重新填充过滤器表单。对我来说最好的方法是什么?
【问题讨论】:
标签:
asp.net-mvc
sorting
filter
webgrid
【解决方案1】:
这可能不是最优雅的解决方案,但它确实有效:
将模型添加到视图中的会话:
Session.Add( "Model", Model );
然后,在控制器中的索引 GET 操作(或任何 GET 操作)中,只需检查值并调用 POST 操作:
if ( Session[ "Model" ] != null )
this.Index( Session[ "Model" ] as MyModel );
相应地清理您的会话。