【问题标题】:MVC 4 - More Elegant way to Edit Variable-Length List of Items?MVC 4 - 更优雅的方式来编辑可变长度的项目列表?
【发布时间】:2012-06-14 00:35:18
【问题描述】:

我发现的关于编辑可变长度项目列表的最佳建议是 2008 年为 ASP.Net MVC 2 编写的。

http://blog.stevensanderson.com/2008/12/22/editing-a-variable-length-list-of-items-in-aspnet-mvc/

这种方法仍然是 ASP.Net MVC 4 的最佳方法,还是有一种更新的解决方案,要么是标准化的,要么是更优雅的?

【问题讨论】:

  • 我认为人们尽可能通过 Ajax 做这种事情。从代码的角度来看,它不仅更简单,而且提供了更好的用户体验。
  • @JonGalloway 你能链接到一些例子吗?
  • 如果你不想让列表重新排列也不错。例如,您可以使用 knockoutjs 在客户端完全完成此操作,也可以通过通过 ajax 为每个新项目拉取部分视图来进行混合方法。
  • @IvanZlatev 我正在关注您的帖子@ivanz.com。但是,关于该主题的最后一篇文章(针对 MVC3)是大约一年前发布的。您是否碰巧在 MVC 4 版本上工作(或者它会与 MVC 3 相同)。可惜的是,框架中没有内置这样的基本功能,我们必须使用如此多的插件并学习如此多的新技术来做相当基本的事情,这是任何或多或少严肃的网站都在做的事情。谢谢

标签: asp.net-mvc asp.net-mvc-4 variable-length


【解决方案1】:

看看http://knockoutjs.com/,它是一个依赖于 MVVM 模式的 JavaScript 框架。基本上,您可以将数组模型数据绑定到您的 HTML,然后将它们作为 JSON 数组发布回您的控制器。一个很大的副作用是它有助于使您的控制器对单元测试更加友好(因为您的控制器主要返回 JSON)。

http://channel9.msdn.com/Events/MIX/MIX11/FRM08有一个关于淘汰赛的精彩视频

基本上你想看的是可观察的数组。 http://knockoutjs.com/documentation/observableArrays.html

我还强烈建议您观看关于 knockout.js 的 20 分钟视频介绍。尽管它是一个较旧的视频,但它可以让您很好地了解它的工作原理,它对我帮助很大。 http://channel9.msdn.com/Events/MIX/MIX11/FRM08

你也可以使用 AngularJS http://angularjs.org/ 这是同一个概念(MVVM),它是由谷歌推出的。两者之间有很多差异,但最主要的差异(我至少注意到)是角度,更多地依赖模板,在很多方面它赋予了它更多的权力。

在两者之间,我认为淘汰赛更容易启动和运行,但使用 AngularJS 有更多选择。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2011-11-01
    • 2011-09-09
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2015-05-24
    相关资源
    最近更新 更多