Question

J'ai un Employé modèle qui dispose d'un Nom et Société

Je veux être en mesure de construire de multiples Les employés dans un CRÉER vue.J'ai pensé que j'ai besoin de créer un IList<Employee> et faire quelque chose comme:

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

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

Si un utilisateur clique sur "Ajouter un autre employé", je veux l'afficher à faire sous une autre forme pour le nouvel employé:

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

Et continuer à ajouter des éléments de formulaire (et incrémentation de l'index de tableau si vous cliquez sur nouveau).

Gardez à l'esprit que j'ai besoin de construire le formulaire et la liste de façon dynamique dans la création de vue.Je n'ai pas déjà un peuplées, la liste des Employés.

Comment dois-je faire?Les exemples de Code serait génial, depuis que je suis très nouveau pour ASP.NET

Était-ce utile?

La solution

J'ai répondu à une question similaire hier
Ajouter par programmation des contrôles de formulaire

Cet exemple ajoute des éléments à un List(Of T) sur le bouton de la souris, mais vous pouvez ajouter des éléments à une liste de contrôle toutefois vous le souhaitez.

En gros, vous créez une classe avec plusieurs propriétés de l'objet à être stocké à l'intérieur d'elle.

Ensuite, vous ajoutez l'élément à la collection.

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

Notez que vous n'avez pas à utiliser l'EmployeeList classe pour ce faire, vous pouvez simplement créer une liste du déjà existant "Employé" de la classe qui est construit par L2S/EF, etc

Ensuite, vous voulez passer _empList à la vue et à l'utilisation d'une boucle foreach pour parcourir en elle.

EDIT:

Essayez quelque chose le long de ces lignes

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);
}

Alors, à votre avis, vous faites quelque chose comme cela

<%
foreach (var employee in Model)
{
    %>
    <p>Dude's Name: <%= Html.TextBoxFor(employee.Name) %></p>
    <p>Dude's Company: <%= Html.TextBoxFor(employee.Company) %></p>
    <%
}
%>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top