2017-10-19 28 views
0

J'utilise ASP.NET MVC 4 et LINQ/SQL. J'ai une page HTML avec un formulaire où je veux rendre des boîtes d'entrée HTML basées sur une classe de modèle. À mon avis, je suis en boucle sur le modèle et en essayant de générer une boîte de saisie pour chaque ligne de table, mais puisque le modèle est vide, les boîtes de saisie ne s'affichent pas. Le modèle est vide car il n'y a pas encore de données dans la base de données car c'est ce que je veux collecter dans mon formulaire. Lorsqu'il y a des données dans le modèle, les valeurs de la base de données doivent apparaître dans le formulaire.ASP.NET MVC - Comment générer des boîtes d'entrée vides en boucle lorsque le modèle est vide?

Comment puis-je rendre les zones de saisie vides, étant donné que mon modèle est initialement vide.

code est ci-dessous:

@for (int i = 0; i < Model.Count; i++) 
    { 
<tr> 

    <td>       
     @Html.EditorFor(model => model[i].CustomerName, new { htmlAttributes = new { @class = "form-control" } }) 
    </td> 

</tr> 
} 
+1

Il me semble vous voulez avoir une boîte de saisie séparée pour ajouter, en dehors de la boucle. – JuanR

+0

Je ne comprends pas ce que vous demandez. Vous voulez ajouter une case pour chaque entrée dans la base de données, mais il n'y a pas d'entrée dans la base de données, donc vous n'obtenez aucune case. On dirait un comportement attendu. Alors, quel est votre problème? – mason

+0

@mason - Je cherche comment structurer le code pour qu'il y ait une ligne dans la base de données et aussi quand il n'y a pas de ligne dans la base de données. Je pourrais juste une boîte de saisie en dehors de la boucle comme l'autre utilisateur mentionné, je pensais qu'il pourrait y avoir une façon plus élégante que je suis nouveau à ASP.NET – user1669296

Répondre

1

Utilisation Pour boucle avec un certain nombre de case que vous avez besoin, et de valider lorsque le modèle est nul, utilisez une boucle For

@{ 
    if (Model == null) 
    { 
     int textboxnumber = 6;//change value on behind code or put a constant number 
     for(int i=0;i<textboxnumber;i++) 
     { 
     <input type="text" placeholder="textbox empty"/> 
     } 
    } 
    } 
+0

Veuillez donner un exemple de code sur votre solution à ce problème. –

+0

Salut @JPDolocanog pourrait vous écrire ceci dans la vue @ { if (modèle == null) { int textboxnumber = 6; // valeur de changement derrière le code ou mettre un nombre constant for (int i = 0; i } } } –