मेरे पास एक एएसपी.NET एमवीसी 3 पृष्ठ है जिसमें मेरे पास एक HTML है .extAreaFor नियंत्रण, नीचे कोड देखें। अगर मैं पृष्ठ की तरह कोण कोष्ठक में पाठ के साथ http पोस्ट कार्रवाई करने के लिए प्रस्तुत करने के लिए प्रयास करें: <test>
, मैं कह रहा एक पीले रंग की त्रुटि स्क्रीन मिलती है:एएसपी.NET एमवीसी 3 एचटीएमएल के लिए पोस्ट पर एचटीएमएलएन्कोड .extAreaFor
एक संभावित खतरनाक Request.Form मूल्य ग्राहक से पता चला था (RequestText = "")।
मुझे समझ नहीं आता क्यों मैं अपने आप क्योंकि मैं an article by Scott Guthrie कि कहते हैं नेट 4 में नए <%: %>
वाक्य रचना पाया इस हो रही है, होगा तत्व HtmlEncode। चूंकि मैं <% का उपयोग कर रहा हूं:%> Html.TextAreaFor नियंत्रण के लिए वाक्यविन्यास, मैंने सोचा कि यह स्वचालित रूप से इसका ख्याल रखेगा और कोण ब्रैकेट को उचित "& लेफ्टिनेंट" में परिवर्तित करेगा; और "& gt" स्ट्रिंग्स।
<% using (Html.BeginForm())
{ %>
<%: Html.ValidationSummary() %>
<h2>Enter a description of the support needed</h2>
<%: Html.TextAreaFor(m => m.RequestText, 4, 90, null) %>
<input type="submit" value="Submit" />
<% } %>
चेस - मैं [AllowHtml] का उपयोग नहीं करता, क्या मेरे पास नियंत्रक कार्रवाई पर वापस पोस्ट करते समय .net फ्रेमवर्क एचटीएमएल मेरे लिए टेक्स्ट एन्कोड करने का कोई तरीका नहीं है? –
आप इसे मैन्युअल रूप से नियंत्रक पर एन्कोड करते हैं। यह डेटा परत है जिसे आप अनन्य डेटा को टोन पोस्ट नहीं करना चाहते हैं। आपको इसे नियंत्रक स्तर पर संभालना होगा। –
मूल रूप से, HTML आपके लिए डेटा एन्कोड नहीं कर सकता है। आप जावास्क्रिप्ट का उपयोग कर सकते हैं, लेकिन यह बस खराब है क्योंकि वे सिर्फ जेएस को अक्षम कर सकते हैं। ऐसा करने का एकमात्र निश्चित तरीका तरीका सर्वर स्तर पर है और क्लाइंट स्तर पर नहीं है। davidhayden लिंक –