Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用ASP.NET MVC4 WebGrid排序时如何保留表单值_Asp.net Mvc_Sorting_Filter_Webgrid - Fatal编程技术网

Asp.net mvc 使用ASP.NET MVC4 WebGrid排序时如何保留表单值

Asp.net mvc 使用ASP.NET MVC4 WebGrid排序时如何保留表单值,asp.net-mvc,sorting,filter,webgrid,Asp.net Mvc,Sorting,Filter,Webgrid,我正在MVC4中构建一个搜索页面,其中包含一个过滤器表单和一个webgrid帮助器来显示数据。过滤和排序都可以正常工作,但当我单击一列进行排序时,它会使用带有排序参数的GET controller函数重新加载页面的初始版本,从而丢失过滤器设置。我真的希望它将表单重新提交给POST控制器函数,以便使用和重新填充过滤器表单。对我来说,最好的方法是什么?这可能不是最优雅的解决方案,但它可以: 将模型添加到视图中的会话中: Session.Add( "Model", Model ); 然后,在控制器中

我正在MVC4中构建一个搜索页面,其中包含一个过滤器表单和一个webgrid帮助器来显示数据。过滤和排序都可以正常工作,但当我单击一列进行排序时,它会使用带有排序参数的GET controller函数重新加载页面的初始版本,从而丢失过滤器设置。我真的希望它将表单重新提交给POST控制器函数,以便使用和重新填充过滤器表单。对我来说,最好的方法是什么?

这可能不是最优雅的解决方案,但它可以:

将模型添加到视图中的会话中:

Session.Add( "Model", Model );
然后,在控制器中的索引GET Action或GET Action是什么,只需检查值并调用POST Action:

if ( Session[ "Model" ] != null )
    this.Index( Session[ "Model" ] as MyModel );
相应地清理会话