2011-01-11 92 views
1

我想创建一个像gmail一样的网格,用户可以通过jQuery和ajax通过动作(例如,在gmail中分配标签)删除或更新。ASP.NET MVC jQuery Ajax

我已经实现了ajax调用,因此它将数据设置为数据库中的正确值,但更新网格/行时无需刷新页面的最佳做法是什么?

回答

0

最简单的选择是将网格放入局部视图中,然后每隔30秒发送一次AJAX请求(或多次),将局部视图的HTML转储到DOM中。

将更改列表下载为JSON,然后使用Javascript更新DOM会更有效。
要下载更改列表,您需要跟踪服务器上的当前状态。
根据您的数据,这可能不实际。

0

有几种方法可以做到这一点,我个人喜欢MVVM pattern这样的事情。有一个伟大的库叫knockoutjs,它允许绑定到一个javascript对象模型。下面是一个editable grid的例子,以帮助您入门。在我看来,这是与网络合作的最灵活的方式,因为它可以分散您的顾虑。只有在ASP.NET MVC负责处理业务逻辑并发送ViewModel时,此时HTML/Javascript才会成为用户界面的重要组成部分。您还可以使用jQuery插件解决方案(如jqGrid),您仍然需要编写所有CRUD函数以实际管理数据,但网格会自动允许排序(使用某些配置)和其他选项。这也将处理你的CSS格式,因为它使用jQuery UI进行样式设计。