我是ASP.NET MVC和jQuery的新手,也是为html表设计我的第一个内联(就地)编辑器的过程。简而言之 - 当用户点击例如单位价格" td
,jQuery克隆隐藏的ajax.beginform
以替换td
并使其可见。表单包括预先设置的MVC帮助程序,如@Html.EditorFor(m => m.UnitPrice)
,@Html.ValidationMessageFor
等。用户可以POST表单并从控制器接收tr
。这很好用。
现在,我想将相同的功能扩展到另一个td
,例如" Quantity"。我有几个选择:
@Html.EditorFor(m => m.Quantity)
)向页面添加第二个隐藏的表单,并将其显示给用户。这意味着我最终会在每个可编辑字段中显示一个隐藏的表单(总共可能大约为10个)。-data-val
)等等。td
时,使用jQuery向控制器发出请求,该控制器将返回适当的PartialView。问题 - 哪些选项最可行?还有更好的选择吗?第一个选项绝对不是DRY,但似乎最容易维护,但我不知道在DOM中保留几个未使用的表单是多么昂贵。
答案 0 :(得分:0)
感谢您的输入
我选择了第四个解决方案,我保留了一个隐藏的表单,其中包含视图中的所有可编辑字段。根据点击的td
,我使用jQuery删除所有不必要的字段\元素,并在向用户显示表单之前仅保留表单标记之间的相关字段。