Я ответил на аналогичный вопрос вчера
Программно добавить элементы управления в форму
Этот пример добавляет элементы к List(Of 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 для этого, вы можете просто создать список уже существующего класса "Employee", созданного L2S / EF и т. Д.
Тогда вы передадите _empList представлению и будете использовать цикл foreach для его итерации.
EDIT:
Попробуйте что-нибудь в этом духе
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);
}
Тогда, по вашему мнению, вы делаете что-то вроде этого
<%
foreach (var employee in Model)
{
%>
<p>Dude's Name: <%= Html.TextBoxFor(employee.Name) %></p>
<p>Dude's Company: <%= Html.TextBoxFor(employee.Company) %></p>
<%
}
%>