javascript - asp mvc - 动态添加数据控件的最佳方式是什么

标签 javascript asp.net asp.net-mvc dynamic-data

场景:我有以下结构;组(父)-> 项目(子)。

  • 一个组可以有很多项。
  • 组和项目都只有一个可编辑字段(字符串)

在其他父/子表数据中,我使用了部分 View 来显示父数据和子数据——子数据是标准的 MVC 索引(即每个项目旁边都有编辑/细节选项的项目列表)。

但是在这种情况下,父项只有一个字段,子项也有,所以我不想打开单独的 View 来创建/编辑新的子项记录。

我想做的是能够有效地编辑所有关联的子数据,而无需打开新 View ,也许有一个添加按钮可以动态添加另一行。

所以我的想法是,我可以(以某种方式)编写一些 javascript 来在您每次单击按钮添加新行时创建一个文本框,然后在 Controller 中以某种方式在完成时保存数据。

任何人都做过类似的事情,可以指出正确的方向吗?

最佳答案

对于客户端数据操作,我使用 micro-template来自 John Resig 的函数,并创建一个脚本来更新 dom。这是 John 的示例:

<script type="text/html" id="item_tmpl">
  <div id="<%=id%>" class="<%=(i % 2 == 1 ? " even" : "")%>">
    <div class="grid_1 alpha right">
      <img class="righted" src="<%=profile_image_url%>"/>
    </div>
    <div class="grid_6 omega contents">
      <p><b><a href="/<%=from_user%>"><%=from_user%></a>:</b> <%=text%></p>
    </div>
  </div>
</script>

然后您可以维护一个对象或数组,其中包含您将序列化到隐藏字段并发布到服务器的新数据。 John 的示例非常简单明了,应该可以让您继续学习。

如果您需要更多,请访问 Dave Ward 的 Encosia,因为他是 post regarding this .

关于javascript - asp mvc - 动态添加数据控件的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2003427/

相关文章:

c# - 为什么我不能在三元 if 语句中将可为 null 的 int 设置为 null?

asp.net-mvc - 具有 3 层架构、 Entity Framework 和依赖注入(inject)的 MVC

javascript - jquery 动画一个 div 到中心

javascript - CS 购物车中的 "Script error."

asp.net - 表单例份验证超时和 session 超时的差异

c# - 我如何在网页上显示 C# 源代码

asp.net-mvc - 解析错误 ViewMasterPage<TModel>

javascript - 尝试用动态内容填充共享 Twitter 链接

javascript - 如何将字符串转换为日期对象?

asp.net - asp.net中的页面加载