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吗?虽然你的解决方案听起来似乎是可行的。