【发布时间】:2011-11-03 20:34:20
【问题描述】:
就如何处理这个问题寻求有经验的意见:
我们有一个显示用户数据输入表格的页面。 (讨厌表格的人:这是表格数据,所以...)
页面上的每个输入都旨在“隐藏”更复杂的表单,通过 jQuery 对话框/弹出窗口显示。整个表格被包装在一个标签中,当用户点击表格底部的“提交”按钮时发布。表格行是模型中的行项目。
传递给控制器方法的模型基本上是
public class MyBigModel {
public List<LineItemModel> LineItems {get;set;}
...more stuff...
}
public class LineItemModel {
public List<LineItemDetail> Details {get;set;}
}
public class LineItemDetail{
public List<OtherDetails> SometimesIHaveDetailsToo {get;set;}
}
从功能上讲,提交整个 .... 工作正常,但我们现在被要求允许人们提交单独的行等。
目前,要提交单个行项目,我将 (jQuery.clone()) 表格行复制到另一个表单,发布,然后销毁克隆。
我考虑过完全切换到“每行表单”类型的方法,但不完全确定如何处理——我可以用标签包装 a 吗?我应该吗?
在魔法独角兽的土地上,人们可能会期待这种事情......
< form>
<table>
< form> <tr with my data and a nice submit button /> </form>
< form> < another tr with my data and another nice submit button /> </form>
</table>
<input type="submit">MyMasterSubmit</input>
</form>
(希望对问题的描述足够好)
正如我所提到的,每一行中保存的数据实际上非常复杂。有许多与要作为弹出窗口包含的每个行项目关联的 DIV 元素,因此我不确定它们是否可以单独位于表格行中而不会导致一些标记问题。这是一款专为快速数据输入而设计的 LOB 应用,因此将其拆分不会成为解决方案。
关于处理此问题的良好做法有什么想法吗?
【问题讨论】:
标签: asp.net html asp.net-mvc forms