Web Grid,客户端绑定VS. 服务器端HTML生成
我正在使用新的实现替换ASP.NET Web应用程序中的现有Web网格。 现有网格function强大,但不够灵活。 它还带来了我们不喜欢在我们的网页上使用的所有框架。
在研究现有选项时,我注意到我可以将可用的解决方案分解为两种主要方法。 ASP.NET GridView最好地表示了旧方法。 这是一个经典的ASP.NET控件,它根据给定的数据集在服务器上生成所需的HTML。 较新的方法取决于客户端渲染,主要是使用jQuery。 一个很好的例子是jqGrid 。 只将数据发送到客户端(通常使用JSON或XML)
在GridView的情况下,如果我想要一个AJAX行为,我将不得不用更新面板之类的东西来实现它。
- 我应该做出明确的选择吗?
- 是否有很好的机会实现与jqGrid相同的快速行为(即使有很多记录),服务器端渲染控件?
- 是否有一些混合实施包含两种方法?
-
你不应该做出明确的选择,但值得注意的是,更改为客户端AJAX控件是一个相当大的范例转换,需要你重新思考如何使用网格做几乎所有事情。
-
中途(通过在
UpdatePanel
使用服务器端控件,如GridView
)可能会改善用户体验,因为页面在更新时仍然可见并且响应迅速。 但是,与新的仅客户端网格相比,UpdatePanel
样式仍然很笨重,因为这种技术在回发时会发送所有页面的表单数据(包括GridView
中的所有ViewState,如果打开了ViewState)。 一个简短的注意事项:当GridView.EnableSortingAndPagingCallbacks
设置为true时,GridView.EnableSortingAndPagingCallbacks
与UpdatePanel
不兼容。 -
我没有使用任何混合实现(例如Coolite的.NET包装器),但它们都在那里。 关于这个主题至少有一个很好的SO讨论,这里有不同的网格 。
我也在评估jgGrid和Gridview。 我只对电网的性能和效率感兴趣。 尽管jqGrid有一点学习曲线,但与gridview相比,我可以花一些时间学习它是否可以提供很好的性能提升。 任何专家都可以对这个话题有更多的了解吗? 非常感谢你。