2009-02-03 59 views
3

好了,所以这是this question.MVC批量编辑 - 例如

我试图使用产生的LinqToSql MVC应用程序,它允许在单页上的数据的批量编辑的选择。

想象一下,ItemId,ItemName,ItemPrice作为字段的简单表格Item。

很多例子都非常简单的MVC应用程序,它们向您显示这些项目的列表,每个项目旁边都有一个编辑按钮,底部有一个添加按钮。

从用户界面的角度来看,当大量数据需要输入/更新时,我觉得这非常耗时。

我在包含文本框中的项目名称和价格的单个页面之后,可以一次编辑所有项目,然后单击一个“保存”按钮以更新数据。

我见过一些执行此过程的各个阶段的例子,但尚未找到一个实现完整解决方案的例子。特别是与Linq的互动。

我有很多方法,我尝试过所有的工作,但是,我的直觉告诉我我的方法“气味”,因此我想看看其他人如何尝试这样做的一些例子。

所以,简单地说,我的问题是任何人都可以提供一些链接到一些例子吗?

回答

0

我想解决这个问题的方法是使用jQuery在切换行时调用jsonResult。这个jsonResult会调用模型中的代码,只保存你关闭的行的ItemId,ItemName,ItemPrice。更多关于一般jsonResult w/jQuery的用法在这里:http://www.dev102.com/2008/08/19/jquery-and-the-aspnet-mvc-framework/

你可以做的另一件事是做模型绑定到项目列表,迭代通过列表保存每个项目 - 菲尔哈克有一个列表绑定的例子在这里: http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx无论使用哪种方法,您都希望做一些事情来表示行已更改,因此如果您只是更改一些行,则不会更新每个字段。

0

你的目标究竟是什么?你是否试图同时提交一系列信息?或者,您是否只是不希望每次更改内容时都要回传页面。无论哪种情况,jQuery都是您最好的选择。如果你想一次完成所有的事情,它会变得复杂,除非你使用一个jQuery控件来为你做这件事。有一些伟大的那里,如Flexigrid

3

我有written about how to do thisMvcContrib的FluentHtml。史蒂夫桑德森有written about how to do it没有FluentHtml。我们的两篇文章都有一个示例解决方案,您可以下载并查看。

就LinqToSql而言,我认为批量编辑机制(控制器和视图)与LinqToSql之间的任何交互都是一种气味。也就是说,尽可能的你的UI应该对你的持久性机制一无所知。