Sri*_*Sri 6 c# windows-phone-7
我试图使用以下命令在页面之间发送值:
NavigationService.Navigate(new Uri("/ABC.xaml?name=" + Company + "&city=" + City , UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)
这里公司和城市的价值被传递到下一页,不知何故公司名称如"ABC&Ltd"没有正确传递,它只是将"ABC"传递到下一页.基本上"&"之后的部分被删除.
这里有格式吗?或者我应该为此写一个逻辑?
需要帮助 !
谢谢
如果您的任何查询字符串包含在Uri中被视为无效的字符,那么您所做的事情将会失败,正如您所发现的那样.您需要先使用Uri.EscapeDataString以逃避任何非法字符.将您发布的代码更改为以下内容:
NavigationService.Navigate( new Uri( String.Format( "/ABC.xaml?name={0}&city={1}",
Uri.EscapeDataString( Company ), Uri.EscapeDataString( City ) ),
UriKind.Relative ) );
Run Code Online (Sandbox Code Playgroud)
使用时读取转义字符串会自动取消转义NavigationContext.QueryString,因此无需Uri.UnescapeDataString显式调用.
| 归档时间: |
|
| 查看次数: |
4415 次 |
| 最近记录: |