C# 如何在“创建”视图中动态构建对象列表?

C# 如何在“创建”视图中动态构建对象列表?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个员工模型,它有一个名字和公司 我希望能够在一个创建视图中构建多个员工。我想我需要创建一个IList,并执行如下操作: <%= Html.TextBoxFor(m => m[0].Name) %> <%= Html.TextBoxFor(m => m[0].Company) %> <%= Html.TextBoxFor(m => m[1].Name) %> <%= Html.TextBoxFor(m => m[1].Com

我有一个员工模型,它有一个名字公司

我希望能够在一个创建视图中构建多个员工。我想我需要创建一个
IList
,并执行如下操作:

<%= Html.TextBoxFor(m => m[0].Name) %>
<%= Html.TextBoxFor(m => m[0].Company) %>

<%= Html.TextBoxFor(m => m[1].Name) %>
<%= Html.TextBoxFor(m => m[1].Company) %>
m[0].名称)%%>
m[0]。公司)%>
m[1]。名称)%%>
m[1]。公司)%>
如果用户单击“添加另一名员工”,我希望视图为新员工创建另一个表单:

<%= Html.TextBoxFor(m => m[3].Name) %>
<%= Html.TextBoxFor(m => m[3].Company) %>
m[3].名称)%>
m[3].公司)%>
并继续添加表单项(如果再次单击,则增加数组索引)

请记住,我需要在create视图中动态构建表单和列表。我还没有一份员工名单


我该怎么做?代码示例将非常好,因为我对ASP.NET非常陌生

昨天我回答了一个类似的问题

此示例在单击按钮时将项目添加到
列表(共T个)
,但您可以随意将项目添加到控制列表

基本上,您可以创建一个包含多个对象属性的类来存储在其中

然后将项目添加到集合中

Imports System.Collections.Generic


Partial Class Default2
    Inherits System.Web.UI.Page

    ''# we need to create an array of our control list class
    Public Shared _empList As List(Of EmployeeList)



    ''# button click event
    Protected Sub AddStuff

        ''# create a new employee
        Dim emp As Employee = New Employee
        With emp
            .Name = "Joe"
            .Company = "Acme Welding"
        End With

        ''# add the employee to our custom array
        _empList.Add(New ControlList(emp))

    End Sub



    ''# this is our custom Employee List
    ''# the idea behind this is for us to store 
    Public Class EmployeeList
        Private _employee As Employee
        Public Property Employee As Employee
            Get
                Return _employee
            End Get
            Set(ByVal value As Employee)
                _employee = value
            End Set
        End Property

        Public Sub New(ByVal employee As Employee)
            _employee = employee
        End Sub

    End Class


End Class
请注意,您实际上不必使用EmployeeList类来完成此操作,您只需创建一个由L2S/EF等构建的已经存在的“Employee”类的列表

然后将_empList传递给视图,并使用foreach循环对其进行迭代

编辑: 试着做些类似的事情

public ActionResult ListEmployees()
{
    List<Employee> _empList = new List<Employee>();

    //'# create a new employee
    Employee emp = new Employee();
    {
        emp.Name = "Joe";
        emp.Company = "Acme Welding";
    }

    //'# add the employee to our custom array
    _empList.Add(new emp);

    return View(_empList);
}
public ActionResult listedemployees()
{
列表_empList=新列表();
//“#创建一名新员工
员工emp=新员工();
{
emp.Name=“乔”;
emp.Company=“Acme焊接”;
}
//“#将员工添加到我们的自定义数组中
_添加(新的环境管理计划);
返回视图(_empList);
}
那么在你看来,你会做这样的事情

<%
foreach (var employee in Model)
{
    %>
    <p>Dude's Name: <%= Html.TextBoxFor(employee.Name) %></p>
    <p>Dude's Company: <%= Html.TextBoxFor(employee.Company) %></p>
    <%
}
%>

都德的名字:

杜德公司:


如果不太麻烦的话,你能帮我介绍一下C吗?虽然你的解决方案听起来似乎是可行的。