J'ai le code suivant dans la vue de page rasoir de mon application ASP.NET-Core 2.2 MVC
<p> @{ if(course.Description.Length > 100) { @course.Description.Substring(0, 100) @:"..." } else { @course.Description; } } </p>
mais cela me donne l'erreur suivante
Erreur CS1525 Terme d'expression non valide '>'
Je ne sais pas comment résoudre ce problème. S'il vous plaît, aidez-moi si vous le pouvez.
Merci
3 Réponses :
Je pense que le "cours" dans votre instruction if manque un '@'. Essayez:
<p> @{ if(@course.Description.Length > 100) { @course.Description.Substring(0, 100) @:"..." } else { @course.Description; } } </p>
Votre code fonctionne très bien pour moi.
Voici cependant une manière plus concise de l'écrire. Voyez si cela fonctionne pour vous:
<p> @if (course.Description.Length > 100) { @course.Description.Substring(0, 100) @:"..." } else { @course.Description } </p>
Si vous rencontrez toujours des problèmes, il se peut qu'il y ait un problème avec le code environnant dans votre page Razor, ou votre projet n'est pas t référencer les assemblages appropriés? Essayez d'exécuter le même code dans un nouveau projet ASP.NET vierge.
Merci. Vous vous demandez simplement ce qui pourrait ne pas être le cas avec ce qui suit car cela ne fonctionne pas trop @ (course.Description.Length> 100)? @ course.Description.Substring (0, 100) @: ...: @ course.Description
@Josh Deux problèmes avec ça: vous devez ajouter des parenthèses autour de l'expression entière, et vous devez également changer @: ...
en quelque chose comme + "..." code > donc le résultat final doit ressembler à ceci:
@ ((course.Description.Length> 100)? @ course.Description.Substring (0, 100) + "...": @ course.Description) code> J'espère que cela vous aidera!
c'est intéressant avec ce compilateur @ qui ne pouvait pas décider s'il était utilisé anormalement, par exemple si je l'utilise comme ceci
@functions{ public IHtmlContent RenderSubButton(ButtonModel button) { var @appIcn = "blabla"; return @Html.Raw(@"<a href='@Url.Action(" + button.Action + ", " + button.Controller + ", " + button.RouteValues + ")' class='" + button.Class + "' " + button.Binding.ToDataAttributes() + ">" + button.Text + appIcn + "</a>"); } }
appIcon ne fonctionnera pas mais si j'utilise
@functions{ public IHtmlContent RenderSubButton(ButtonModel button) { var @appIcn = "blabla"; return @Html.Raw(@"<a href='@Url.Action(" + button.Action + ", " + button.Controller + ", " + button.RouteValues + ")' class='" + button.Class + "' " + button.Binding.ToDataAttributes() + ">" + button.Text + @appIcn + "</a>"); } }
alors cela fonctionnera. La différence est que appIcn a @ this sur la tête en premier, inutile de le faire
@Izzy J'ai essayé ce que vous avez suggéré mais je n'ai pas résolu le problème