Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当作为查询字符串传递时,为什么字符串会改变自身?_C#_Silverlight_Windows Phone 7_Query String_Urlencode - Fatal编程技术网

C# 当作为查询字符串传递时,为什么字符串会改变自身?

C# 当作为查询字符串传递时,为什么字符串会改变自身?,c#,silverlight,windows-phone-7,query-string,urlencode,C#,Silverlight,Windows Phone 7,Query String,Urlencode,我在一个基于Windows Phone 7.5的项目上工作。 我有第1页,它将URL作为查询字符串传递。e.Value.ToString()是,这是正确的字符串 private void myWB1_ScriptNotify(object sender, NotifyEventArgs e) { string passingURL = e.Value.ToString(); if (!String.IsNullOrEmpty(passingURL)

我在一个基于Windows Phone 7.5的项目上工作。

我有第1页,它将URL作为查询字符串传递。e.Value.ToString()是,这是正确的字符串

    private void myWB1_ScriptNotify(object sender, NotifyEventArgs e)
    {
        string passingURL = e.Value.ToString();
        if (!String.IsNullOrEmpty(passingURL)) 
        {
           App.goToPage("/PictureViewPage.xaml?pictureurl=" + passingURL);
        }
    }
在第2页,我尝试通过下面的代码获取URL

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        string strUrl = "";
        base.OnNavigatedTo(e);
        NavigationContext.QueryString.TryGetValue("pictureurl", out strUrl);
        strUrl = Uri.EscapeUriString(strUrl);
    }
在TryGetValue之后,strUrl是“±¾美国jpg”,

在Uri.EscapeUriString之后,strUrl变成“

有一点,App.gotoPage除了导航之外什么也没做:

    public static void goToPage(string targetUri)
    {
        var rootFrame = (App.Current as App).RootFrame;
        rootFrame.Navigate(new System.Uri(targetUri, System.UriKind.Relative));
    }


我的问题是为什么会发生这种情况,以及如何获得正确的url?最终发现了问题,
首先传递值,以避免导航期间出现格式异常

private void myWB1_ScriptNotify(object sender, NotifyEventArgs e)
{
    string passingURL = e.Value.ToString();
    passingURL = Uri.EscapeUriString(passingURL);
    if (!String.IsNullOrEmpty(passingURL)) 
    {
       App.goToPage("/PictureViewPage.xaml?pictureurl=" + passingURL);
    }
}