2009-06-19 9 views
3

Pour une raison quelconque, j'obtiens une exception d'exécution lorsque j'essaie d'utiliser Page.ResolveURL ou Url.Content dans la page maître par défaut (Site.Master) dans mon nouvel ASP. application mvc nette. C'est très étrange, car j'utilise la fonction d'assistance ResolveURL dans .NET depuis des années sans problème. Voici mon extrait de code:Problème avec Url.Content dans ASP.NET MVC

<link href="<%= Url.Content("~/css/style.css"); %>" rel="stylesheet" type="text/css" /> 

Et voici l'erreur d'exécution qui se produit sur la même ligne:

Compiler Error Message: CS1026:) expected 

Si je change le href à une URL statique, tout va bien. En outre, il s'agit d'un tout nouveau projet mvc ASP.NET .... c'était la première ligne de code que j'ai changé.

Répondre

6

supprimer le point-virgule

+0

Merci! J'avais le sentiment que c'était quelque chose de simple. Je n'ai jamais utilisé des scriplets (<% %>) jusqu'à présent, car j'ai toujours gardé de telles choses dans les ficelles du code. – smercer

1

Retirez le point-virgule de la fin. Certaines méthodes d'assistance MVC renvoient des chaînes, auquel cas elles doivent apparaître entre les balises <%= %>, ce qui est approprié dans ce cas. Lorsque vous utilisez des méthodes d'aide qui renvoient quelque chose, vous laissez le point-virgule de la fin.

D'autres méthodes d'aide ne renvoient rien (par exemple, Html.RenderPartial) dans quels cas vous utilisez <% %> tags et vous terminez ici votre expression de code avec un point-virgule.