2010-02-02 5 views
0

Asp.net C# J'utilise le code ci-dessous ..chaîne embed html dans le

<%String h = "hello";%> 
       <!-- "wall_com_insert.aspx?Tid=" + Application.Get("Tid");--> 



     <div id="content_sr_comment" style="height: auto">&nbsp;<asp:Label ID="Label8" 
       runat="server" Text="<%=h%>" ></asp:Label> 
     </div> 

Mais je reçois la sortie ..

sortie affichée sur l'étiquette: "<% = h%> »

Je suppose que la syntaxe est incorrecte .. puis-je obtenir de l'aide

Répondre

2

Vous ne pouvez pas placer une commande de serveur dans une balise de serveur. Essayez ceci:

<div id="content_sr_comment" style="height: auto">&nbsp;<%= h %></div> 

Ou

<script runat="server" language="C#"> 
    void Page_Load(object sender, EventArgs e) 
    { 
     String h = "hello"; 
     Label8.Text = h; 
    } 
</script> 

<div id="content_sr_comment" style="height: auto">&nbsp; 
    <asp:Label ID="Label8" runat="server"></asp:Label> 
</div> 
+0

Merci de son travail .. mais si j'ai étiquette d'étiquettes multiples à l'intérieur

+0

jeter un coup d'oeil dans seconde option; vous pouvez toujours aller avec des fichiers codebehind ... –

1

Cela devrait fonctionner:

<script runat="server" language="C#"> 
    private string h = "hello"; 
</script> 
<!-- "wall_com_insert.aspx?Tid=" + Application.Get("Tid");--> 

<div id="content_sr_comment" style="height: auto">&nbsp;<asp:Label ID="Label8" 
    runat="server"><%=h%></asp:Label> 
</div> 
1

Une autre approche que je trouve utile, surtout si vous voulez écrire une valeur dans plusieurs endroits dans votre html est de créer une fonction dans votre code derrière comme ceci:

protected string SayHello() 
{ 
    return "Hello"; 
} 

Vous pouvez alors l'utiliser partout dans votre code html:

<div id="content_sr_comment" style="height: auto"> 
    <%=SayHello() %> 
</div>