客户端框架
除了jqGrid之外,还有其他一些我最近一直在玩的javascript框架网格:
Flexigrid:基于jQuery,没有编辑功能,但有计划.
Ext的GridPanel:Ext js是另一个与jQuery接口的javascript框架.
YUI的DataTable:Yahoo用户界面(YUI)是另一个具有可编辑网格控件的框架.
这些都是客户端组件:它们在用户的浏览器中运行,与服务器代码断开连接.像Tracker1和其他几个人写的那样,你必须自己编写Ajax方法来将客户端网格连接到服务器,或者你可以尝试利用现有的包装器,例如:
服务器端选项
正在进行的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类似网格控件 - 您可能也对此问题的答案感兴趣,特别是因为它听起来像您想要强大的编辑功能.
是.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更容易.
| 归档时间: |
|
| 查看次数: |
42237 次 |
| 最近记录: |