使用jQuery的ASP MVC,如何进行内联编辑器设计?

时间:2015-08-07 18:26:43

标签: jquery asp.net-mvc

我是ASP.NET MVC和jQuery的新手,也是为html表设计我的第一个内联(就地)编辑器的过程。简而言之 - 当用户点击例如单位价格" td,jQuery克隆隐藏的ajax.beginform以替换td并使其可见。表单包括预先设置的MVC帮助程序,如@Html.EditorFor(m => m.UnitPrice)@Html.ValidationMessageFor等。用户可以POST表单并从控制器接收tr。这很好用。

现在,我想将相同的功能扩展到另一个td,例如" Quantity"。我有几个选择:

  1. 使用适当的帮助程序(例如@Html.EditorFor(m => m.Quantity))向页面添加第二个隐藏的表单,并将其显示给用户。这意味着我最终会在每个可编辑字段中显示一个隐藏的表单(总共可能大约为10个)。
  2. 继续使用单一表单,但在呈现之前使用jQuery处理克隆的DOM对象,并在需要时将QuantityPrice替换为数量,手动调整所有验证属性(-data-val)等等。
  3. 当用户点击td时,使用jQuery向控制器发出请求,该控制器将返回适当的PartialView。
  4. 问题 - 哪些选项最可行?还有更好的选择吗?第一个选项绝对不是DRY,但似乎最容易维护,但我不知道在DOM中保留几个未使用的表单是多么昂贵。

1 个答案:

答案 0 :(得分:0)

感谢您的输入 我选择了第四个解决方案,我保留了一个隐藏的表单,其中包含视图中的所有可编辑字段。根据点击的td,我使用jQuery删除所有不必要的字段\元素,并在向用户显示表单之前仅保留表单标记之间的相关字段。