2011-01-26 27 views
25

Sorun sonucu html şöyle kodlanmış oluyor ki Özel HTML Yardımcım neden html olarak kodlanıyor?

public static string RegisterJS(this HtmlHelper helper, ScriptLibrary scriptLib) 
{ 
    return "<script type=\"text/javascript\"></script>\r\n"; 
} 

(ı sonucunu düzgün göstermek için öylesine almak için boşluk eklemek zorunda 3

asp.net mvc aşağıdaki özel html yardımcısı var : Açıkçası

&lt;script type=&quot;text/javascript&quot;&gt;&lt;/script&gt; 

Bu benim için pek yardımcı değil .. okudum hiçbir şey bu konuda birşey .. diyor benim gerçek sonucu geri almak nasıl aradıklarını

cevap

37

üzerinde herhangi bir düşünce? Bir Razor @ bloğundaki yardımcınız veya ASPX <%: %> bloğu.
Bu yapılar, çıktılarından otomatik olarak ayrılır.

return new HtmlString("<script ..."); 
+2

Teşekkür:

Sen kaçmış olmayacak bir HtmlString dönmek için yardımcı, değiştirmeniz gerekir. Bu 3'te bir değişiklik mi? Hatta MS örneğini bile bulduğum dize .. –

+0

@Shane: No; Bu, görünüm motorunun bir özelliğidir. – SLaks

+1

MVC1'den bir örneğe bakıyor olabilirsiniz. MVC 2'de tüm yardımcılar bir HtmlString döndürmek için değişti, böylece .NET 4'ten ASPX otomatik kodlama özelliği çalışabilir ('<%= %>' yerine '<%: %>' kullanarak). Yeni Razor görüntü motoru her şeyi otomatik olarak kodlar. – marcind