这里要注意三点:
SecondPage/{content}与后面name={content}这两个content一定要相同
content 不可以写数字0,写数字0会报运行时错误。可以为数字1,但不可以为其他数字。为“1”时编译器解析正常,但为其他数字时虽不会报运行时错误,但编译器解析出错,不能够正确解析传进来的参数,会直接打印比如SecondPage/{111}在另外的页面就直接打印{111}。
MappedUri 后面“?”的查询字段区分大小写。
添加资源完成后,在页面使用如下方法即可调用缩写并传参数:
以下是代码片段: NavigationService.Navigate(new Uri("SecondPage/terry",UriKind.Relative)); |
试试效果吧,在页面中的按钮点击然后跳转到第二页,看会不会显示“terry”,如图:
获取参数跟Asp.net 差不多,见下方代码:
以下是代码片段: if (NavigationContext.QueryString.Count>0) { UriTextBox.Text = NavigationContext.QueryString["name"].ToString(); } |
Windows Phone 7 的NavigationContext.QueryString 是不支持传递对象的,那么如果我们现在有个对象需要传递该如何实现呢?看了Jake Lin 老师的视频后才知道可以在App 里面定义一个对象属性,然后这个属性就可以提供全局访问。是不是我可以理解成这个属性其实也可以放在一个公用的静态类上呢?呵呵,下面看如何实现吧。