Comment générer dynamiquement des contrôles dans MVC?

Dans asp.net vous pouvez utiliser asp:Repeater pour générer dynamiquement des contrôles.

par exemple:

<asp:Repeater runat="server" id="rpt">
   <ItemTemplate>
       <asp:Textbox runat="server"/>
   </ItemTemplate>
</asp:Repeater>

Ensuite, vous pouvez obtenir une boucle sur les éléments du côté du serveur:

foreach(var items in rpt.Items)
{
}

Et en MVC, vous pouvez faire quelque chose comme ceci:

@foreach(var item in model)
{
   @Html.TextBoxFor(a=>item.searchCriteria);
}

Mais il y a un problème:

Je voudrais générer des zones de texte lorsque l'utilisateur clique sur ajouter plus de zone de texte bouton:

Comment générer dynamiquement des contrôles dans MVC?

Si j'utilise foreach dans MVC, alors je ne vais pas être en mesure de récupérer la saisie de l'utilisateur sur le contrôleur, aussi, je n'ai pas de modèle à boucle à travers.

Et la finale souhaitée sortie sera:

Une fois que l'utilisateur clique sur le lien "Ajouter plus de zone de texte" bouton, une nouvelle zone de texte ajouter vers le bas, et une fois que l'utilisateur clique sur le bouton de recherche, le texte à l'intérieur de la zone de texte sera généré dans une chaîne de requête, quelque chose comme ceci:

Vue:

 <input name="searchCriteria" type="text" class="form-control" />
 <input name="searchCriteria" type="text" class="form-control" />
 <input name="searchCriteria" type="text" class="form-control" />
 <input name="searchCriteria" type="text" class="form-control" />

Contrôleur:

 public ActionResult Search()
        {
            string queryString = Request.RawUrl;
            //parse the querystring here
            return View(NumberOfVisitorsReport);
        }

Et la chaîne de requête générée sera de:

www.website.com/?searchCriteria=a&searchCriteria=b&searchCriteria=c

Donc il y a un autre moyen d'atteindre cet MVC?

Edit:

J'ai pris un coup d'oeil à certains post sur "Comment générer des contrôles dynamiquement en MVC"

Par exemple

Création de contrôle basé sur le modèle de la valeur dans MVC4

Il génère des contrôles basés sur la valeur dans la base de données, si j'mettre en œuvre ce à mon site web, les commandes vont perdre de la valeur sur chaque poste de retour.

  • Vous pouvez utiliser JavaScript...c'est généralement la meilleure approche est utile lorsque vous voulez faire quelque chose sur le côté client.
InformationsquelleAutor User2012384 | 2016-01-24