2012-10-20 20 views
5

मेरे विंडोज 8 स्टोर ऐप में, मेरे पास एक पृष्ठ पर ईमेल बटन भेजें और उपयोगकर्ता इसे क्लिक करने में सक्षम हैं और हमें कुछ सामान्य पूछताछ के लिए एक ईमेल भेज सकते हैं।Win8/WinRT - ईमेल बॉडी में लाइन ब्रेक जोड़ने के लिए

मुझे ईमेल बॉडी में कुछ टेक्स्ट प्री-लोड करने की आवश्यकता है, लेकिन मुझे इसमें लाइन ब्रेक जोड़ने की प्रतीत नहीं होती है। मैंने Environment.NewLine और "\r\n" की कोशिश की। उनमें से कोई भी काम नहीं करता है।

var mailto = new Uri("mailto:[email protected]&subject=Hello world&body=Hi," + Environment.NewLine + "Can you please ..."); 
await Windows.System.Launcher.LaunchUriAsync(mailto); 

जब मैं इसे चलाता हूं, तो मुझे "हाय, क्या आप कृपया ..." प्राप्त कर सकते हैं। लाइन ब्रेक छोड़ा गया है।

उत्तर

7

, अपने लाइन ब्रेक के रूप में "%0d%0a" का उपयोग कर

"Hi,%0d%0aCan you please..." 

एक URL एन्कोड किया गया ASCII CR/वामो अनुक्रम है कि के रूप में की कोशिश करो। यह मेरे लिए अंतर्निहित मेल ऐप के लिए काम करता है लेकिन आपके पास कोई विशेष गारंटी नहीं है कि यह किसी भी मनमानी मेल ऐप के लिए काम करेगा जो उपयोगकर्ता भविष्य में स्थापित कर सकता है।

+0

काम करता है:

आप इस तरह पर्यावरण Newline UrlEncoding द्वारा इस का मुकाबला कर सकते हैं! आपने अभी अपना दिन बचाया, बहुत बहुत धन्यवाद !! :) –

0

आपको अपनी सामग्री को अपने मेल ऐप में साझा करने के लिए Share Contract का उपयोग करने पर विचार करना चाहिए। लाभ: आपके सॉफ़्टवेयर का उपयोग करने वाले उपयोगकर्ता इसे अन्य ऐप्स पर साझा कर सकते हैं, न केवल ईमेल।

+1

मुझे लगता है कि शेयर अनुबंध अलग-अलग उद्देश्य के लिए है। मेरे मामले में मैं केवल उपयोगकर्ता को एक ईमेल वापस भेजना चाहता हूं। जानकारी संवेदनशील हो सकती है और साझा नहीं की जानी चाहिए। :) –

+2

और मैं जोड़ सकता हूं कि अनुबंध के माध्यम से साझा करना एक ही समस्या दिखाता है, लाइन ब्रेक को छोड़ दिया जाता है। –

5

कारण यह काम नहीं करता है क्योंकि आप उरी लॉन्च कर रहे हैं, यूरीस की आवश्यकता है कि उनकी सामग्री UrlEncoded/UrlEncodable हो। पर्यावरण के मामले में। न्यूलाइन आदि आपको एक अवैध उरी मिल जाएगी। पूरी तरह से

System.Net.WebUtility.UrlEncode(Environment.NewLine) 
+0

यह भी काम करता है! धन्यवाद! –