我正在MVC4中构建一个搜索页面,其中包含一个过滤器表单和一个webgrid帮助器来显示数据。过滤和排序所有工作正常,但是当我单击要排序的列时,它会使用带有排序参数的GET控制器函数重新加载页面的初始版本,从而丢失过滤器设置。我真的希望它将表单重新提交到POST控制器函数,以便使用和重新填充过滤器表单。对我来说最好的方法是什么?
答案 0 :(得分:0)
这可能不是最优雅的解决方案,但它有效:
在视图中将模型添加到会话中:
Session.Add( "Model", Model );
然后,在控制器中的Index GET Action(或GET Action的任何内容)中,只需检查值并调用POST操作:
if ( Session[ "Model" ] != null )
this.Index( Session[ "Model" ] as MyModel );
相应地清理会话。