2012-10-18 20 views
10

ASP.NET C# 'da yeniyim ve bazı şeylerle ilgili sorun yaşıyorum.ASP.NET C# ve Razor'da HTML kodunun içeriğinin yazılması

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

ASP.NET ve Jilet

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

bu çalıştı Ama ASP " "<" değiştirir ve:

PHP, ben örneğin bir değişken içine HTML kodunu saklayabilir > "&gt; ve &lt; için. Bunun için herhangi bir çözüm biliyor musunuz?

Başka bir sorum var, PHP gibi bir tırnak içine değişken ekleyebilir miyim?

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

cevap

24

Razor motor HTML'si, fark ettiğiniz gibi dizeleri varsayılan olarak kodlar. Bu davranışı önlemek için, sadece Html.Raw() kullanın:

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

Edit

bir dize içinde bir değişken hale için, sana string.Format kullanabilirsiniz varsayalım:

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

o overkill gibi görünse de (en azından bu örnek için) sadece yazabildiğiniz zaman:

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

Teşekkürler dostum, işe yarıyor. Ve diğer soru? Php gibi alıntılar içinde bir değişken yazabilir miyim? Doğru cevabı 9 dakika içinde seçiyorum, tekrar teşekkürler. – Carasuman

+0

@Carasuman no prob, yardım ettiğine sevindim - eğer yardımcı olursa yukarıdaki güncellemeyi görün. – McGarnagle

+0

Baskılarınızı gördüm, yardımlarınız için teşekkürler! – Carasuman

İlgili konular