में HTML एन्कोडिंग बंद करें मेरे पास एक ऐसा फ़ंक्शन है जो जावास्क्रिप्ट और/या HTML का स्निपेट देता है।रेजर
static public string SpeakEvil()
{
return "<script>alert('BLAH!!');</script>";
}
दृश्य में, रेजर काफी सही रूप से एचटीएमएल एन्कोडिंग है, जैसा कि अधिकतर उम्मीद है।
@StaticFunctions.SpeakEvil()
मैं कैसे इतना है कि HTML और जावास्क्रिप्ट शब्दशः उत्सर्जित होते हैं, रेजर नहीं एचटीएमएल इस एनकोड की क्या ज़रूरत है, और किसी भी स्क्रिप्ट वास्तव में चलाता है?
मैं एक गैर-वेब अनुप्रयोग में RazorEngine का उपयोग कर रहा हूं। आपके प्रस्तावित समाधानों में से कोई भी मेरे लिए काम नहीं कर रहा है, वास्तव में, Html.Raw विधि कॉल मुझे निम्नलिखित अपवाद दे रहा है: "टेम्पलेट संकलित करने में असमर्थ। नाम 'एचटीएमएल' वर्तमान संदर्भ में मौजूद नहीं है"। अगर मेरे पास एक MvcHtmlString है, या IHtmlString है तो यह अभी भी HTML को टेक्स्ट एन्कोड करता है लेकिन अपवाद नहीं फेंकता है। –
मैं एक वेब एप्लिकेशन के बाहर RazorEngine का उपयोग कर रहा हूं, और इसे काम पर नहीं ला सकता :(कोई विचार? – leypascua
@ ब्लेश और लीपस्कुआ http://stackoverflow.com/questions/15273327/how-to-prevent- escaping-html-in-razor-standalone यदि आप रेजोरइंजिन का उपयोग कर रहे हैं, तो यह इस संबंधित प्रश्न में शामिल है: http://stackoverflow.com/questions/15273327/how-to-prevent-escaping-html-in- रेज़र-स्टैंडअलोन – Ergwun