2011-01-26 3 views
25

मैं asp.net MVC के में निम्नलिखित कस्टम HTML सहायक 3मेरा कस्टम एचटीएमएल हेल्पर परिणाम एचटीएमएल एन्कोड क्यों हो रहा है?

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

समस्या यह है कि परिणाम तो जैसे इनकोडिंग एचटीएमएल हो रही है है (मैं रिक्त स्थान जोड़ने के लिए इतना पाने के लिए परिणाम ठीक से प्रदर्शित करना पड़ा मिल गया है :

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

यह स्पष्ट रूप से मेरे लिए ज्यादा मदद नहीं है .. कुछ भी नहीं है मैं पढ़ा है इस बारे में कुछ भी .. कहते हैं कि कैसे मैं अपने वास्तविक परिणाम वापस प्राप्त कर सकते

उत्तर

37

आप कॉल कर रहे हैं पर कोई विचार? एक रेजर @ ब्लॉक या ए में सहायक एएसपीएक्स <%: %> ब्लॉक।
ये संरचनाएं स्वचालित रूप से उनके आउटपुट से बचती हैं।

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

धन्यवाद:

आप एक HtmlString वापस जाने के लिए सहायक है, जो बच गए नहीं किया जाएगा बदलने की जरूरत है। क्या यह 3 में बदलाव है? यहां तक ​​कि एमएस उदाहरण मैंने पाया कि स्ट्रिंग वापस आ गई .. –

+0

@Shane: नहीं; यह दृश्य इंजन की एक विशेषता है। – SLaks

+1

आप एमवीसी 1 से एक उदाहरण देख रहे हैं। एमवीसी 2 में सभी हेल्पर्स को एचटीएमएलस्ट्रिंग लौटने के लिए बदल दिया गया ताकि एनईटीएक्स ऑटो-एन्कोडिंग फीचर .NET 4 से काम कर सके ('' '<%= %>' के बजाय ')। नया रेजर व्यू इंजन स्वचालित रूप से सबकुछ एन्कोड करता है। – marcind