【问题标题】:ASP.NET MVC Data Entry Multiple form tags, or just one big one?ASP.NET MVC 数据输入 多个表单标签,还是只有一个大标签?
【发布时间】: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


    【解决方案1】:

    如何仅序列化一个 div(或选定行的一些“行”周围标记)并使用 .ajax() 到服务器。 jQuery to serialize only elements within a div

    【讨论】:

    • 那么在那种情况下,我会两全其美?一个实际的
      标签,加上通过序列化/ajax“提交”每一行?
    • 是的!它很简单,应该可以很好地工作。您还可以挂钩到 jQuery 的 ajax 启动和停止方法以显示来自 ajaxload.info 的漂亮加载图像
    • 只要我可以正确格式化帖子数据,这绝对是答案。谢谢,亚当!
    猜你喜欢
    • 2012-08-17
    • 2014-02-24
    • 1970-01-01
    • 2012-10-09
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    相关资源
    最近更新 更多