1
votes

CS1525 Terme d'expression non valide «>» dans la page de vue rasoir ASP.NET-core 2.2

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


1 commentaires

@Izzy J'ai essayé ce que vous avez suggéré mais je n'ai pas résolu le problème


3 Réponses :


1
votes

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>


0 commentaires

1
votes

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.


2 commentaires

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 + "..." donc le résultat final doit ressembler à ceci: @ ((course.Description.Length> 100)? @ course.Description.Substring (0, 100) + "...": @ course.Description) J'espère que cela vous aidera!



0
votes

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


0 commentaires