2011-08-25 24 views
6

मैं का उपयोग कर पृष्ठों के बीच मूल्यों को भेजने के लिए कोशिश कर रहा हूँ के बीच मान पास:विंडोज फोन 7 - पृष्ठों

NavigationService.Navigate(new Uri("/ABC.xaml?name=" + Company + "&city=" + City , UriKind.Relative)); 

यहाँ कंपनी और शहर के मूल्यों अगले पृष्ठ पर पारित कर रहे हैं "एबीसी की तरह, किसी भी तरह कंपनी के नाम & लिमिटेड "ठीक से गुजर रहा नहीं है, यह सिर्फ अगले पृष्ठ पर" एबीसी "पास करता है। मूल रूप से "&" के बाद का हिस्सा गिरा दिया गया है।

क्या यह प्रारूप करने के लिए यहां कोई विकल्प है ??? या मुझे इसके लिए एक तर्क लिखना चाहिए ??

सहायता की आवश्यकता है!

धन्यवाद

उत्तर

6

अगर आपकी क्वेरी तार के किसी भी अक्षर हैं जो एक उरी क्या आप असफल हो जायेगी के रूप में आप की खोज की है क्या कर रहे हैं में अमान्य माने जाते हैं होते हैं। पहले किसी भी अवैध पात्र से बचने के लिए आपको Uri.EscapeDataString का उपयोग करने की आवश्यकता है। कोड आप निम्नलिखित करने के लिए पोस्ट किया है परिवर्तन:

NavigationService.Navigate(new Uri(String.Format("/ABC.xaml?name={0}&city={1}", 
      Uri.EscapeDataString(Company), Uri.EscapeDataString(City)), 
      UriKind.Relative)); 

बच गए जब आप पढ़ सकते हैं उन्हें NavigationContext.QueryString का उपयोग कर तार स्वचालित रूप से नहीं छोड़ा जाएगा हैं, इसलिए Uri.UnescapeDataString स्पष्ट रूप से कॉल करने के लिए कोई आवश्यकता नहीं है।

+0

Uri.EscapeDataString काम किया !!! बहुत बहुत धन्यवाद – Sri

+0

आप EscapeUriString के बजाय EscapeDataString का उपयोग क्यों कर रहे हैं? –

+0

@ क्लेमेंट मैंने कुछ ब्लॉग पर कहीं पढ़ा है कि विंडोज फोन पर नेविगेशन की बात आने पर कुछ मामलों में पूर्व कार्य करता है। दुर्भाग्यवश, मुझे अब लिंक नहीं मिल रहा है। – Praetorian

2

& चरित्र मूल्यों को अलग करने का एक साधन के रूप क्वेरी स्ट्रिंग में एक विशेष चरित्र के रूप में व्यवहार किया जाता है। इसे %26 में भागने की आवश्यकता है।

Uri.EscapeUriString का उपयोग करके आसानी से यूआरएल से बचने के तरीके के बारे में अधिक जानकारी के लिए।

उदाहरण के लिए:

string Company = "ABC & D"; 
string City = "Falls Church"; 
string escaped = Uri.EscapeUriString("/ABC.xaml?name=" + Company + "&city=" + City); 
var uri = new Uri(escaped, UriKind.Relative); 
+0

जवाब के लिए धन्यवाद ... यह मददगार था !! – Sri

0

तुम भी आप के लिए पैरामीटर पास कर सके App.xaml.cs कोड जहां वैश्विक मूल्यों है कि आप अपने पूरे एप्लिकेशन में उपयोग कर सकते हैं परिभाषित कर सकते हैं,

http://www.developer.nokia.com/Blogs/Community/2011/08/25/passing-data-between-pages-in-windows-phone-7/

+0

लिंक देखें .. !!! –

+0

टूटी हुई लिंक –

+0

के लिए @PareshMayani माफी मांगने के लिए अभी अपडेट करें। –

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