ASP.NET MVC数据输入多个表单标签,还是只有一个大标签?

时间:2011-11-03 20:34:21

标签: asp.net html asp.net-mvc forms

寻找有关如何处理此问题的经验丰富的意见:

我们有一个显示用户数据输入表的页面。 (表讨厌:这是表格数据,所以......)

页面上的每个输入都旨在“隐藏”一个更复杂的表单,通过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())表格行复制到另一个表单,发布该行,并销毁该克隆。

我考虑过完全转换为“每行一次”的方法,但不完全确定如何处理 - 我可以用标签包装吗?我应该吗?

在魔麒麟的土地上,人们可能会期待这种事情......

< 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应用程序,因此将其拆分并不是一个解决方案。

有关处理此问题的良好做法的任何想法?

1 个答案:

答案 0 :(得分:0)

如何仅序列化div(或所选行的某些'row'周围标记)并使用.ajax()到服务器。 jQuery to serialize only elements within a div