【问题标题】:Web grid for my asp.net mvc5 web application我的 asp.net mvc5 Web 应用程序的 Web 网格
【发布时间】:2015-03-06 17:01:15
【问题描述】:

我正在开发一个 asp.net mvc-5 Web 应用程序,我正在使用实体框架 +Razor 视图。

目前三周多来,我已经尝试和测试了许多网络网格,但我找不到提供以下主要功能的任何东西:-

  • 兼容 asp.net mvc 数据注释、html helpers +model binder。
  • 提供基于ajax的分页、过滤排序
  • 为分页、过滤+排序提供服务器端处理
  • 提供基于列的过滤。

我尝试了很多网格;例如 Grid.MVC link 提供基于列的过滤,但它不提供基于 ajax 的交互,它也不适用于 mvc 数据注释和 html 帮助程序。我还绑定了 Lib.Web.MVC link,但它似乎不提供基于列的过滤,并且缺乏足够的文档,但它可以与数据注释和 html 帮助程序一起使用。

所以我的问题基本上是关于在 asp.net mvc 中可以使用哪些可用的网络网格,它提供了上述四个功能。?问题是在asp.net mvc书籍和在线统治上,没有一个使用任何网络网格,并且大多数都以手动方式实现分页,过滤和排序等功能,例如link

任何人都可以就此提出建议吗,是否有任何脚手架模板基于任何网格构建他们的索引视图!!?

【问题讨论】:

标签: razor jqgrid asp.net-mvc-5 mvcjqgrid grid.mvc


【解决方案1】:

如果您要为网格提供与 html 帮助器相关的输入,那么网格在每个单元格中将只有公共 HTML 片段。在这种情况下,在客户端无法实现基于列的过滤。

抱歉,我不明白最后一个要求“提供基于列的过滤”。您已经对基于 ajax 的分页、过滤排序有另一个要求,这意味着 服务器 负责过滤(包括基于列的过滤)。因此,您只能期望网格向服务器发送 Ajax 请求,以防用户在过滤器栏中键入一些值并按 Enter 或“搜索”。

第一个要求“兼容asp.net mvc数据注释,html助手+模型绑定器”是free jqGrid唯一不满足的要求。原因我在 cmets 的讨论中向您解释了我之前对您的另一个问题的回答:纯 JavaScript 解决方案中的 jqGrid。它不能有任何 MVC 组件。

【讨论】:

  • @johnG:抱歉,ASP.NET MVC 在服务器端工作。它可以生成可以在客户端运行的 HTML 或 JavaScript 代码,但没有纯 JavaScript 代码(如 jqGrid、jQuery 等)可以在服务器上执行某些代码。 JavaScript 代码只能向服务器发送一些数据,仅此而已。所以只有一些服务器代码(例如用 C# 编写而不是用 JavaScript 编写)也可以访问数据注释。可以将信息发送到客户端,一些 JavaScript 代码可以生成 jqGrid 的一些选项。 上述所有内容都不是 jqGrid 的一部分
  • @johnG:我已经写过关于 Lib.Web.MVC 的文章。我不知道,也帮不了你。你听说过量子物理学吗?我想是的。你能回答我一些关于量子物理学的问题吗?我想不是。您可能可以尝试在互联网上搜索该问题并写下答案。如果你问我Lib.Web.MVC,我也是一样。
  • @johnG:jqGrid 通过 Ajax 从服务器获取数据。所以初始数据应该是正确的。编辑的结果(编辑的行)将被发送回服务器(参见here,例如将通过内联编辑发送的信息或here在使用表单编辑的情况下发送)。 服务器应验证数据,然后将其保存在数据库中
  • @johnG:editurl 调用的方法可能会返回错误(响应一些 >=400 的 HTTP 代码)。它可以在正文中包含错误描述。它将通知 jqGrid 数据未保存,并显示从服务器返回的错误 vill。所以您的服务器可以使用数据注释来验证数据
  • @johnG:您可以轻松地从the old answer 修改演示项目以在 ASP.NET 5 中使用。该演示展示了如何在 ASP.NET MVC(使用实体框架)中实现服务器端排序,分页和过滤/搜索。我应该提到服务器端分页和过滤/搜索只有在你需要显示具有大量行的数据时才有意义。如果行数大约为 1000,那么带有 客户端分页/排序/过滤loadonce: true 场景会更快。在这种情况下,服务器端会非常小。
猜你喜欢
  • 2017-04-29
  • 2015-07-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2010-09-21
  • 1970-01-01
  • 2010-09-10
  • 2015-12-02
相关资源
最近更新 更多