2011-09-26 16 views
7

मैं कुछ HTML उत्पन्न कर रहा हूं और मैं एक एक्सएसएस- और डेटाबेस-सामग्री-सुरक्षित mailto लिंक जेनरेट करना चाहता हूं। यहां उपयोग करने के लिए उचित एन्कोडिंग क्या है? यह कैसा है?मैं मेलो लिंक को सही ढंग से कैसे एन्कोड कर सकता हूं?

myLiteral.Text = string.Format(
    "mailto:{0}?Content-Type=text/html&Subject={1}&body={2}", 
    HttpUtility.UrlEncode(email_address), 
    HttpUtility.UrlEncode(subject), 
    HttpUtility.UrlEncode(body_message)); 

क्या मुझे यहां UrlEncode का उपयोग करना चाहिए? HtmlEncode? क्या मैंने किया, तो HtmlEncode पूरी तरह से? मैं एक यूआरएल के एचटीएमएल लिख रहा हूँ, तो मैं एक छोटे से स्पष्ट नहीं कर रहा हूँ ...

@Quentin, यह आप क्या वर्णन कर रहे हैं? (& में बदला गया & रों के बाद से मैं HtmlEncode करने के बारे में हूँ ...)

myLiteral.Text = 
    HttpUtility.HtmlEncode(HttpUtility.UrlEncode(
    string.Format(
     "mailto:{0}?Content-Type=text/html&Subject={1}&body={2}", 
     email_address, subject, body_message))); 
+0

आपका पहला संस्करण लगभग सही है, सिवाय इसके कि आपको '&' को अनदेक करना चाहिए। आप इसे टेक्स्ट प्रॉपर्टी में असाइन कर रहे हैं। इसे आंतरिक रूप से HTML एन्कोडिंग का ख्याल रखना चाहिए। केवल एक चीज जिसकी आपको चिंता करने की ज़रूरत है वह वैध यूआरआई है। –

+1

@ liho1eye: मुझे लगता है कि यह केवल एएसपी लिटल के लिए सच है अगर myLiteral.Mode == एन्कोड, जो डिफ़ॉल्ट नहीं है। लेकिन दूसरे संस्करण के प्रभाव का होना चाहिए जिसके लिए आप जा रहे थे, हां? –

उत्तर

6

आप एक URL में कुछ सामग्री लगा रहे हैं, तो HTML में है कि यूआरएल का प्रतिनिधित्व। तो URLEncode को तब UTLENcode से प्राप्त करें जो आप URLENcode से प्राप्त करते हैं।

+0

मैंने कोशिश की .. मेरे प्रश्न में कोड का दूसरा संस्करण क्या है जो आपको दिमाग में था? –

+0

मैं पहले के साथ जाऊंगा। या दोनों का मिश्रण। पूरे मान को Htmlattributeencoding, और यूआरएल – Erlend

+0

@Yuck में डाले गए मानों को एन्कोड करना - यह वास्तव में एक उत्तर है। दूसरी वाक्य बताती है कि वास्तव में क्या करने की आवश्यकता है। – Quentin

संबंधित मुद्दे