2013-03-21 14 views
35

, kodu @{Html.RenderPartial("_Partial1.cshtml");} var ve benim Kısmi, ben bir HTML dizesi vardır: Bazı CSS hata stilleri ile çıkışa abc istiyorumASP.NET MVC'de HTML dizesi nasıl oluşturulur? benim ana sayfasında

@{ 
    // The string is actually dynamic, not static. This is here for simplicity 
    string abc="<div class=\"error\">abc</div>"; 
} 
@abc 

, ama aslında <div class="error">abc</div> var - tabii Orada hiç stil yok. HTML kaynak kodu olarak yorumlanmış ve bir dize olarak nasıl yorumlanır?

+1

http://stackoverflow.com/questions/4281424/asp-net-mvc-razor-output-html-string-non-escaped – adt

+0

abc
'ile ilgili sorun nedir? – alex

cevap

92

Bunun için Html.Raw() yöntemini kullanabilirsiniz.

+5

Bu kesinlikle şaşırtıcıydı. Oluşturmak istediğiniz bir .html dosyanız varsa, ipucunu kullanın: @ Html.Raw (File.ReadAllText (Server.MapPath ())) – cgatian

+0

Bu tehlikeli bir yanıttır. Bkz. Https://en.wikipedia.org/wiki/Cross-site_scripting – Unw0und

+0

Saydamda genel bir değişken tanımlamak istedim ve @ html.Raw kullanıyorum (bu değişkendeki bazı biçimlendirmeleri tanımlamak ve oluşturmak istiyorum çünkü Görünüşe göre, birisi, bir Jilet değişkenine url'den bir değer ayarlayabilir mi? Ben sadece bunun, URL enjeksiyon yoluyla XSS'e karşı savunmasız kalmasını istemiyorum. Teşekkürler! – eaglei22

İlgili konular