首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP.NET MVC 2中实现以下入口表单的想法

在ASP.NET MVC 2中实现以下入口表单的想法
EN

Stack Overflow用户
提问于 2010-04-30 09:17:00
回答 2查看 341关注 0票数 4

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

显然,我模拟了实际的需求,但本质是相似的。

输入名称并单击历史的

  • 应该会弹出一个指向url
  • 和age是必需字段
  • 的子表单(在模型中)和
  • (下拉,包含数字1 -> 10)和主题(包含A -> D )形成一个唯一的值,需要分数。所以,选择班级和科目,输入分数,然后点击Add,应该会为学生“添加”这个记录。然后,用户应该能够单击Save (将条目持久化到数据库)或能够向条目进一步添加(类、主题、分数)对。

有什么办法能巧妙地实现这一点吗?(我来自DWH领域.因此,以无国籍的方式思考对我来说有点陌生。)任何帮助都是非常感谢的。

我认为聪明地使用jQuery会提供一个简单的解决方案。

你好,卡兰

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-30 10:42:14

好的,在这种情况下,我将向您展示如何在几个机会上做到这一点:首先,我在jquery中放置一个div,其中包含如下空字段:

代码语言:javascript
复制
$("#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开始的索引。如下所示:

代码语言:javascript
复制
 $("form").submit(function () {
        $("div", "#classes").each(function (i) {
            $(":input, :hidden", this).each(function () {
                $(this).attr("name", $(this).attr("name").replace(/\[0\]/, "[" + i + "]"));
            });
        });
    });

如果您使用的是一个支持子实体的ModelBinder,那么最终应该会在服务器上提供一个学生内部的类列表。当然,您可以使用firebug来确切地查看向服务器发布的内容。

希望这能给我们一些方向。

票数 1
EN

Stack Overflow用户

发布于 2010-04-30 10:06:10

这可能有点过分,但您很可能从学习应用程序基础和脚手架中获益。我会从这里开始,http://sharparchitecture.net/。一旦您设置了基本的应用程序,您就可以使用jquery以及以下插件

  • jquery窗体
  • jquery验证

在提交之前处理表单。有相当多的插件可以帮助弹出窗口。

如何提交任意数量的子实体(比如示例中的学生类)实际上是一个具体服务器端实现的问题。这可以在s#arp体系结构中非常优雅地完成,但在提交之前需要对表单进行一些调整。

欢迎来到无国籍世界的网页表格!祝你好运,大卫

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2743475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档