2009-02-07 5 views
2

J'ai un <table/> dans un ViewUserControl que j'ai donné la balise une class = « tblRaised » attribut/valeur. Visual Studio conserve sous-jacente tblRaised et me dit - La classe ou CssClass n'est pas définie.ASP.NET MVC - classe CSS dans un ViewUserControl - La classe ou CssClass n'est pas défini

Pourquoi le moteur intellisense essaie-t-il de valider mes noms de classes CSS ici? Quelqu'un d'autre rencontre-t-il cela? Est-ce un bug? Comment intellisense pourrait-il même savoir où se trouvait mon fichier css dans un ViewUserControl?

Répondre

4

Parce que les styles sont généralement inclus dans votre point de vue ou d'une page maître, VS ne peut pas les trouver dans votre ViewUserControl. Si vous ajoutez quelque chose comme ce qui suit à votre ViewUserControl, vous pouvez contourner le problème (et obtenir intellisense) sans inclure le CSS deux fois.

<% if (false) { %> 
    <link rel="stylesheet" type="text/css" ... 
<% } %> 

Cela obtenir le IntelliSense car il peut trouver la feuille de style, mais l'utilisation de si (faux), il empêche en fait d'être inclus lors de l'exécution.

1

Typiquement dans le monde ASP.NET (pas MVC), vous devez spécifier vos styles dans la page maître ou votre page actuelle. VS lit ensuite toutes les informations de style et essaie ensuite d'aider intellisense à sortir les noms de classe de vos styles sur votre page aspx tout en tapant. Avec MVC, il essaie de faire la même chose, mais c'est probablement juste de ne pas trouver vos fichiers et de lancer un avertissement. Il suffit de l'ignorer pour l'instant, je suis sûr qu'ils vont essayer de supporter cela avec la version 1.0.

+0

toujours pas fixé en 2.0 sur VS2008. Je me demande si cela fonctionne dans VS2010? – WildJoe

1

C'est un bug connu. Visual Studio IntelliSense est trop utile. :)

Utilisez cette solution de contournement dans vos fichiers de balises de contrôle de l'utilisateur, il fera VS IntelliSense heureux:

<% if (false) { %><link href="../../Content/Css/MyCssDefinitions.css" rel="Stylesheet" type="text/css" /><% } %> 
Questions connexes