我有一个非常简单的数据输入表要实现。看起来是这样的:

显然,我模拟了实际的需求,但本质是相似的。
输入名称并单击历史的
有什么办法能巧妙地实现这一点吗?(我来自DWH领域.因此,以无国籍的方式思考对我来说有点陌生。)任何帮助都是非常感谢的。
我认为聪明地使用jQuery会提供一个简单的解决方案。
你好,卡兰
发布于 2010-04-30 10:42:14
好的,在这种情况下,我将向您展示如何在几个机会上做到这一点:首先,我在jquery中放置一个div,其中包含如下空字段:
$("#add").click(function() {
$("#classes").append($(
"<div>"
+" <select name='Student.Classes[0].Class'>"
+" <option value='1'>Class 1</option>"
....
+" </select>"
+" <select name='Student.Classes[0].Subject'>"
+" <option value='1'>Subject 1</option>"
....
+" </select>"
+" <input name='Student.Classes[0].Score' value='0'/>"
+"</div>"
)
);});当单击id #add时,这个div将添加到类列表中。
接下来,我在提交之前捕获表单,并为每个实体(在本例中为Student.Classes)提供一个从0开始的索引。如下所示:
$("form").submit(function () {
$("div", "#classes").each(function (i) {
$(":input, :hidden", this).each(function () {
$(this).attr("name", $(this).attr("name").replace(/\[0\]/, "[" + i + "]"));
});
});
});如果您使用的是一个支持子实体的ModelBinder,那么最终应该会在服务器上提供一个学生内部的类列表。当然,您可以使用firebug来确切地查看向服务器发布的内容。
希望这能给我们一些方向。
发布于 2010-04-30 10:06:10
这可能有点过分,但您很可能从学习应用程序基础和脚手架中获益。我会从这里开始,http://sharparchitecture.net/。一旦您设置了基本的应用程序,您就可以使用jquery以及以下插件
在提交之前处理表单。有相当多的插件可以帮助弹出窗口。
如何提交任意数量的子实体(比如示例中的学生类)实际上是一个具体服务器端实现的问题。这可以在s#arp体系结构中非常优雅地完成,但在提交之前需要对表单进行一些调整。
欢迎来到无国籍世界的网页表格!祝你好运,大卫
https://stackoverflow.com/questions/2743475
复制相似问题