2012-10-18 5 views
10

Sono nuovo in ASP.NET C# e ho problemi con alcune cose.Scrittura del codice HTML all'interno della variabile in ASP.NET C# e Razor

In PHP, è possibile memorizzare il codice HTML all'interno di una variabile, ad esempio:

$list = "<li>My List</li>"; 
echo "<ul>{$list}</ul>"; // write <ul><li>My List</li></ul> 

Ho provato questo in ASP.NET e Razor

string List = "<li>My List</li>"; 
<ul>@List</ul> 

Ma ASP cambia "<" e " > "a &gt; e &lt; .. Conosci qualche soluzione per questo?

Ho un'altra domanda, posso inserire la variabile all'interno di virgolette come PHP?

echo "<ul>{$list}</ul>"; 

risposta

24

Il codice HTML del motore del rasoio codifica per default le stringhe, come notato. Per evitare questo comportamento, basta usare Html.Raw():

<ul>@Html.Raw(List)</ul> 

Modifica

Per rendere una variabile all'interno di una stringa, suppongo che si possa usare string.Format:

@{ var someVariable = "world"; } 
@string.Format("<div>hello {0}</div>", someVariable) 

Anche se questo sembra eccessivo (almeno per questo esempio) quando puoi scrivere:

<div>hello @someVariable</div> 
+0

Grazie amico, funziona. E l'altra domanda? Posso scrivere una variabile tra virgolette come php? Ill selezionare la risposta corretta in 9 minuti, grazie ancora. – Carasuman

+0

@Carasuman no prob, lieto che abbia aiutato - vedere il mio aggiornamento sopra, se questo aiuta. – McGarnagle

+0

Ho visto la tua edizione, grazie per l'aiuto! – Carasuman

Problemi correlati