2011-12-23 10 views
0

問題:次のページにプラス記号を付けて携帯電話番号を渡したいと思います。しかし、プラス記号なしで携帯電話だけを手に入れてください。Windowsの電話番号の次のページにプラス記号を渡す方法

お手数をおかけします。

 

txtMobile1.text = "+61912345678" 

if (chk1.IsChecked.Value) 
    { 
NavigationService.Navigate(new Uri("/SendMsg.xaml?fn=" + HttpUtility.UrlEncode(txtMobile1.Text) + "&Name=" + strName, UriKind.Relative)); 

    } 


---- Receiving: 

    if (NavigationContext.QueryString.ContainsKey("fn")) 
    { 
    strPassInMobileNo = HttpUtility.UrlDecode(this.NavigationContext.QueryString["fn"]) ; 

    } 

The received mobile phone no is : 61912345678 without the puls sign 

 
+0

非デコード結果はどのようなものが見えますか? this.NavigationContext.QueryString ["fn"]? – ColinE

+0

ああ、以下のChristiaanVによって提供されるソリューションを使用しない場合、それは携帯電話のすべてのものを渡すでしょう:+61912345678、受信側でそれはテキストボックスに61912345678を表示します。私は小切手を出しました。スペースチャーまたはチャーがありますが、61912345678の前には表示されません。 – MilkBottle

答えて

2

使用HttpUtility.HtmlDecode(this.NavigationContext.QueryString["fn"]);

+0

送信側:httpUtility.HtmlEncode(txtMobile.text)を使用しますか?それは動作しません? – MilkBottle

+0

送信側でHttpUtility.UrlEncode(txtMobile.text)を使用し、受信側でHttpUtility.HtmlDecode()を使用します。 – ChristiaanV

+0

ありがとうございます。できます。しかし、なぜ異なるHttpUtiltiyメソッドを使用するのですか? URLEncodeを使用してクエリーストリングを渡すと思います。ありがとう – MilkBottle