jquery - "nested"MVC 中的表单

标签 jquery asp.net ajax asp.net-mvc

我明白嵌套 <form>不允许使用标签,但我想实现类似的功能。

我有一个用于创建用户个人资料的表单,在该表单中,我希望允许用户指定他们曾就读的一所或多所学校。

在我当前的设置(如下)中,我每张表格只能提交一所学校。为了简化问题,我从我的 View 中删除了验证和标签。

查看:

<% using (Html.BeginForm())
   { %>
<div>
    <fieldset>
        <legend>Basic Information</legend>
        <%: Html.EditorFor(m => m.Name) %>
        <!-- more input fields-->
    </fieldset>
    <fieldset>
        <legend>Schools</legend>
        <%: Html.EditorFor(m => m.SchoolName) %>
        <!-- more input fields -->
    </fieldset>
    <p>
        <input type="submit" value="Create" />
    </p>
</div>
<% } %>

此 View 强类型化为 ProfileViewModel包含所有属性字段。我的 Controller 包含一个非常简单的 Create将输入保存到数据库的操作。这工作得很好。

我想做的是允许用户使用此表单添加多个学校。在 asp.net 中,我会使用 UpdatePanel 来实现我想要的,但我读过的所有内容都表明,在 MVC 中,标准是使用 PartialView 和 jQuery/ajax 调用。

  1. 如果我要将表单的“学校”部分包含在 PartialView 中,如何让嵌套在另一个表单中的 PartialView 进行“提交”和“更新”而不影响主视图?
  2. 如何更改 View 模型以反射(reflect)这一点?我应该保存一个 List<School>ProfileViewModel包含所有添加的学校还是有更好的方法?我应该将 SchoolViewModel 传递给 PartialView 吗?

最佳答案

您可以查看following article .

关于jquery - "nested"MVC 中的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880380/

相关文章:

javascript - 2 Javascript中的setTimeout无法正常工作

javascript - 使用拼写检查复制 contenteditable <div> 内的点击

javascript - 不会改变整个站点高度的可滚动子内容

javascript - 0x800a138f - JavaScript 运行时错误 : The value of the property '$' is null or undefined, 不是函数对象

jquery - 这是在 Jquery 中使用此语句的正确位置吗

javascript - jQuery AJAX PUT 请求数据提交不起作用

php - Ajax 返回值与 PHP 结合使用

c# - 如何停止我的 asp.net 项目中的额外语言文件夹?

c# - 将字节数组从服务器传输到浏览器

ruby-on-rails - Rails ajax 文件上传和 nginx