【发布时间】:2012-10-16 14:26:06
【问题描述】:
我正在开发一个网页,用户可以在其中过滤数据,然后将选择导出为 pdf 或 excel。该网站使用 ASP .NET C#。
为了过滤数据,我创建了一个网页,其中包含一个带有框和下拉列表的左列,用户可以输入搜索条件,然后单击搜索按钮。这是许多网站包含的典型搜索/过滤功能。过滤数据后,使用 asp 列表视图显示选择。此列表视图生成一个表。我实现了Dragtable,使用户能够更改此表中列的顺序,还实现了columnManager,使用户能够选择要显示的列。
所以我的问题是过滤/搜索功能是使用 asp .net C# 在后端解决的,而列的选择和重新排列是使用 jQuery 在客户端完成的。当用户现在单击“导出”按钮时,除了由 jQuery 完成的过滤器之外,我还想收集由 asp 控件完成的过滤器,并创建文件。此文件应仅包含使用 columnManager 选择的列,其顺序与使用 dragtable 更改后的顺序相同。
同时使用服务器端过滤器和客户端过滤器的最佳做法是什么?我还考虑过放弃所有服务器端过滤并仅使用 ajax.post() 将所有 JSON 格式的过滤器发送到服务器。 我还想让用户能够再次保存他们当前的过滤器。
更新
我决定放弃服务器端并使用 ajax(更准确地说是 getJSON)来获取搜索结果。这样我就不会失去使用 jQuery/js 完成的列的排序和排序,而我会使用回发(当然可以使用 cookies'n 的东西)。 我还将所有逻辑保存在一个地方,并且 JSON 对象可以轻松地在服务器端进行包装/解包。不过,感谢您的回答!
【问题讨论】:
-
代码 sn-p 将非常受欢迎。
标签: c# jquery asp.net draggable