【问题标题】:MVC - Handling Multiple records in a single pageMVC - 在单个页面中处理多个记录
【发布时间】:2017-03-01 05:47:12
【问题描述】:

我有一个 MVC 页面,其中有一个员工下拉菜单,下面有一个部分页面,我有一个输入表单。当用户选择一个员工时,用户可以编辑表单并且他可以选择下一个员工。编辑完所有员工后,他将点击提交按钮。我已经在另一个页面中使用此表单,并且我有一个模型。但由于此页面涉及多条记录,我不确定如何构建模型。请就如何实现这一点提出一些建议。

谢谢!

【问题讨论】:

    标签: asp.net-mvc model-view-controller model


    【解决方案1】:

    通常,如果您想将一组模型而不是单个模型发送到页面,您将传递 IEnumerable<YourModel>

    在您的视图顶部,您可以看到:

    @model IEnumerable<YourModel>
    

    然后像这样在循环中使用它:

    @foreach(YourModel ym in Model)
    {
        // pass ym to a partial view or render with with cshtml here..
    }
    

    【讨论】:

    • 谢谢尼尔。我认为 IEnumerable 会有所帮助。但是我不能使用@foreach 对吗?我将显示当前员工的输入表单(下拉选择索引)。对不起,我是 MVC 的新手。抱歉,如果有什么问题问得很傻。
    • 我想我得看看你的页面布局。也许在 ViewBag 中发送一个 SelectList 以填充下拉列表。然后在我上面展示的 foreach 中,让它为每个员工创建一个 div,但让它们隐藏起来。然后在客户端,当下拉列表更改时启用相应的 div。
    【解决方案2】:

    我建议使用带有员工下拉列表的 Ajax 表单,并设置 ajax 表单以在提交时更新您的部分(选择员工)。 Ajax 表单将触发一个控制器操作,该操作获取所选人员的详细信息并填充下面包含员工详细信息的部分表单。然后您可以提交部分。

    但是,这意味着在对每个员工进行更改时提交更改,因此您可以选择一名员工,编辑详细信息并提交更改。然后选择下一位员工。

    有点着急所以没有代码,但如果你需要一些我会在明天提供更全面的答案,请告诉我。

    【讨论】:

      猜你喜欢
      • 2015-02-20
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2014-11-21
      • 2015-01-30
      • 1970-01-01
      相关资源
      最近更新 更多