J'essaie d'ajouter les données de mon modèle à une table avec rasoir. Mon problème est que je veux une instruction if pour décider quelle classe le tagg devrait être et je ne peux pas le faire fonctionner.
Quand j'ajoute le si j'obtiens l'erreur suivante quand j'exécute le code
The foreach block is missing a closing "}" character
Comment devrais-je ajouter la déclaration if? Ceci est mon code actuel
@{
var counter = 0;
}
@foreach (var item in Model)
{
if(item.status == "Active") {
<tr>
}
else {
<tr class="danger">
}
<td>@counter</td>
<td>@item.FirstName @item.LastName</td>
<td>@item.Email</td>
<td>@item.PhoneNumber</td>
<td>Ändra</td>
<td>Inaktivera</td>
</tr>
counter++;
}
MVC devrait détecter les balises HTML et les rendre, mais il semble que cela ne fonctionne pas toujours.
Entre les accolades, essayez d'ajouter une balise
par exemple:
{
<text>
your html
</text>
}
ou
si vous venez d'ajouter la classe, essayez quelque chose comme:
<tr @(item.status == "Active" ? String.Empty : "class=\"danger\"" )>
essayez ci-dessous le code.
@{
var counter = 0;
}
@foreach (var item in Model)
{
if(item.status == "Active") {
<text> <tr> </text>
}
else {
<text><tr class="danger"></text>
}
<td>@counter</td>
<td>@item.FirstName @item.LastName</td>
<td>@item.Email</td>
<td>@item.PhoneNumber</td>
<td>Ändra</td>
<td>Inaktivera</td>
</tr>
counter++;
}
Vous pouvez ajouter une méthode d'extension prenant bool ou string selon vos besoins.
public static class HtmlHelpExtention
{
public static string IsChecked(this IHtmlHelper htmlHelper,bool IsCheck, string className)
{
return IsCheck? className:"";
}
}
et ensuite l'utiliser dans la vue
<tr class="@Html.IsChecked(item.IsGift,"teal accent-3")">
en utilisant cette méthode vous donnera la possibilité d'utiliser plusieurs classes