4 votes

La collection Controls ne peut pas être modifiée parce que le contrôle contient des blocs de code (c'est-à-dire <% ... %>).

J'essaie d'ajouter un code de formulaire css. Mon site Web utilise une page principale. J'obtiens l'erreur La collection Controls ne peut pas être modifiée car le contrôle contient des blocs de code (c'est-à-dire <% ... %>).

mon code snipet

string CssClass = string.Format("{0}/{1}?$BUILD$", BaseImageUrl, CssFileName);

HtmlLink css = new HtmlLink();
            css.Href = CssClass;
            css.Attributes["rel"] = "stylesheet";
            css.Attributes["type"] = "text/css";
            Header.Controls.Add(css);

Des suggestions ?

7voto

Guffa Points 308133

Vous ne pouvez pas modifier le Controls de la balise head, car le code de l'en-tête contient des blocs de code. Vous avez donc deux possibilités :

  • Retirez les blocs de code de l'en-tête et mettez les données dans l'en-tête du code derrière.

  • Placez un conteneur à l'intérieur de la balise head (par exemple un PlaceHolder ) et ajoutez le lien au Controls de la collection du conteneur.

-1voto

Joey Points 1

L'erreur est due au fait que le contrôle n'est pas encore rendu, alors que le code Javascript est exécuté.

J'ai juste déplacé le javascript en bas de la page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X