40 votes

Code en ligne dans la balise Head - ASP.NET

Est-il possible de faire quelque chose comme ça dans une balise Head, de la page maître, qui a runatserver :

 <link rel="Stylesheet" type="text/css" href='<%=Config.ResourcesDomain %>/images/style.css' />

Cela ne fonctionne pas, car il produit ce genre de html :

<link rel="Stylesheet" type="text/css" href="&lt;%=Config.ResourcesDomain %>/images/style.css" />

11voto

imy Points 106

Une autre solution que j'ai trouvée ici : https://stackoverflow.com/a/5727996/368613 -- il suffit de placer le code à l'intérieur de PlaceHolder :

<asp:PlaceHolder runat="server">
  ... your code with <%= %> tags ...
</asp:PlaceHolder>

4voto

vhinn terrible Points 644

majoration

<head>
   <asp:Literal ID="litHead" runat="server" />
</head>

code-behind :

sur page_load

litHead.Text = "<link rel='Stylesheet'  type='text/css' href='" + Config.ResourcesDomain + "/images/style.css' />";

Mise à jour : faire ceci alors

<head runat="server">
    <%
        Response.Write("<link rel='Stylesheet'  type='text/css' href='" + Config.ResourcesDomain + "/images/style.css' />");
    %>
    <title></title>
</head>

1voto

DeveloperX Points 3609

le changer en

 <link rel="Stylesheet"  type="text/css" href='<%Response.Write(Config.ResourcesDomain); %>/images/style.css' />

Ça devrait marcher.

1voto

HyperD Points 240

Supprimez l'attribut runat="server" sur la balise de tête d'ouverture. De cette façon, le code en ligne asp.net est correctement rendu.

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