Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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 C#和jquery筛选数据集合_C#_Jquery_Asp.net_Draggable - Fatal编程技术网

使用asp.net C#和jquery筛选数据集合

使用asp.net C#和jquery筛选数据集合,c#,jquery,asp.net,draggable,C#,Jquery,Asp.net,Draggable,我正在开发一个网页,用户可以在其中过滤数据,然后将所选内容导出为pdf或excel。该网站正在使用ASP.NET C# 为了过滤数据,我制作了一个网页,该网页包含一个左栏,其中有框和下拉列表,用户可以输入搜索条件,然后单击搜索按钮。这是许多网站包含的典型搜索/过滤功能。过滤数据后,将使用asp listview显示所选内容。此listview生成一个表。我已经实现了,允许用户更改此表中列的顺序,并且允许用户选择要显示的列 因此,我的问题是,过滤/搜索功能是使用asp.NETC#在后端解决的,而列

我正在开发一个网页,用户可以在其中过滤数据,然后将所选内容导出为pdf或excel。该网站正在使用ASP.NET C#

为了过滤数据,我制作了一个网页,该网页包含一个左栏,其中有框和下拉列表,用户可以输入搜索条件,然后单击搜索按钮。这是许多网站包含的典型搜索/过滤功能。过滤数据后,将使用asp listview显示所选内容。此listview生成一个表。我已经实现了,允许用户更改此表中列的顺序,并且允许用户选择要显示的列

因此,我的问题是,过滤/搜索功能是使用asp.NETC#在后端解决的,而列的选择和重新排列是使用jQuery在客户端完成的。当用户现在单击“导出”按钮时,除了jQuery完成的过滤器外,我还想收集asp控件完成的过滤器,并创建文件。此文件应仅包含使用columnManager选择的列,其顺序与使用dragtable更改后的顺序相同

同时使用服务器端筛选器和客户端筛选器时的最佳实践是什么?我还考虑放弃所有服务器端过滤,只使用ajax.post()将所有JSON格式的过滤器发送到服务器。 我还希望使用户能够将其当前筛选器另存一次

更新

我决定放弃服务器端,使用ajax(更准确地说是getJSON)来获取搜索结果。通过这种方式,我不会丢失使用jQuery/js完成的列的排序和排序,我会使用post back(当然可以使用cookies'n的东西)。
我还将所有逻辑放在一个地方,JSON对象可以很容易地在服务器端包装/展开。不过,谢谢你的回答

让客户端和服务器端在同一个位置工作一点也不坏。 世界上运行的所有优秀应用程序都有这些组合

然而,我们需要看到这种方法

如果您不想要任何回发,我建议使用Jquery


如果您对往返没有意见,请继续使用服务器端和Ajax。

您的方法还有另一个问题:如果用户先订购列,然后过滤列,会发生什么情况?列的顺序将重置

但是,使用jQueryUIDraggable,您可以启动ajax调用,将更改通知服务器端代码。可以将函数绑定到停止事件:

因此,我将做以下工作:

  • 当用户更改列的顺序但不刷新数据时激发ajax调用
  • 当用户添加过滤器并刷新数据时激发ajax调用

服务器端代码始终是最新的,并在必要时呈现正确的输出。

代码片段将非常值得欣赏。