JQuery GridView控件

sar*_*ake 13 c# asp.net jquery gridview

有这样的事吗?

我正在寻找的是一个控件,它将是客户端,具有GridView的编辑,取消行功能.

我希望用它来收集用户的数据,然后在用户输入数据后保存在服务器上.

编辑:

感谢所有的建议.在我深入研究并花时间学习这些框架之前,我想问你们所有人.

所有人似乎都使用ASP.net MVC,并提到这些工具包很好用.但是,我使用ASP.net网络表单.这些框架是否与ASP.net的旧版本相得益彰?

Jef*_*nal 8

客户端框架

除了jqGrid之外,还有其他一些我最近一直在玩的javascript框架网格:

  1. Flexigrid:基于jQuery,没有编辑功能,但有计划.

  2. Ext的GridPanel:Ext js是另一个与jQuery接口的javascript框架.

  3. YUI的DataTable:Yahoo用户界面(YUI)是另一个具有可编辑网格控件的框架.

这些都是客户端组件:它们在用户的浏览器中运行,与服务器代码断开连接.像Tracker1和其他几个人写的那样,你必须自己编写Ajax方法来将客户端网格连接到服务器,或者你可以尝试利用现有的包装器,例如:

服务器端选项

  1. Coolite用于.NET的Ext包装器

  2. 正在进行的YUI .NET包装器库之一(YuiDotNet或Yui.NET).我不认为其中任何一个都实现了DataTable的包装器,但它们可能会告诉你这样做的方法.

连接客户端和服务器

如果您没有使用过很多Ajax或者使用这些javascript框架做了很多工作,那么请准备好一些学习曲线:当您开始使用它们时,您需要时刻记住服务器上发生了什么.以及客户端发生了什么(以及何时!).

如果你使用我上面列出的一个直接javascript库,而不是.NET包装器,你必须编写一个服务器端方法来处理数据提交,并使用你选择的技术将它暴露给客户端(MVC的JsonResult)控制器动作,建立WebMethods/ScriptMethods等).

相关的Stack Overflow问题

在ASP.NET中使用ExtJS并将数据从ASP.net返回到ExtJS网格 - 这些都集中在Ext的控件上,但答案包含很多关于将新一代javascript框架控件连接到服务器应用程序的一般信息.

良好的Asp.Net类似网格控件 - 您可能也对此问题的答案感兴趣,特别是因为它听起来像您想要强大的编辑功能.


Cra*_*ntz 6

是.jqGrid效果很好.试试演示.我们将它与ASP.NET MVC一起使用.

更新:在您更新的问题中,您询问了如何使用jQuery和WebForms等框架.你能做这个吗?当然.你想要吗?这是一个更难的问题.在WebForms中,通常让WebForms为您生成JavaScript.这就是你有UpdatePanel之类的原因.一方面,这很容易,因为您可以将编码注意力集中在C#上,并且您可以使用网格组件,这些组件不需要您编写任何JavaScript来使它们工作.另一方面,您仅限于生成的代码可以执行的操作.是的,您可以手动编写JavaScript,甚至可以在WebForms中编写,但您必须解决框架所做的一些事情,例如更改控件上的ID.是的,您可以在C#中编写事件处理程序,但这需要使用回发,这些回发在HTTP中自然不适合,并且最终用户可以看到后果.

在Windows MVC中使用jQuery很常见,因为它随框架一起提供.但即使在此之前,将两者结合使用仍然非常普遍,因为jQuery使得很容易做到ASP.NET MVC中不直接支持的事情,比如使页面上的控件相互交互.是的,这意味着你必须编写JavaScript,但只要你对它好,你就可以获得巨大的优势,你可以编写你想要的任何类型的交互而无需回发到服务器.

如果您只是在寻找WebForms的良好网格控件,那么我建议使用为WebForms设计的控件,而不是为jQuery设计的网格.原因是你要编写的代码更适合WebForms的习语.

如果您只是想学习jQuery,那么这是一个非常好的主意,因为该框架很有趣,实用且设计精良,但我不确定一个好的控件是最好的起点.一个更好的起点可能是为您现有的一些页面添加视觉效果.从已知的HTML开始并使用jQuery操作它比在同时生成新的HTML和学习jQuery更容易.