silverlight3:sivlerlight.net 站点Navigation Framwork示例代码的问题
2010-01-07 00:32
302 查看
今天在timheuer blog上看到这篇文章A guide to Silverlight 3 new features,看到其中关于Navigation Framwork的介绍觉得挺有意思,就点了链接去看video,然后还下载了cs源码,用vs2008打开,居然出现如下错误:An unhandled exception (‘Unhandeld Error in Silverlight Application Navigation is ony supported to relative URIS that are fragments,or begin with ’/',or which contain' ‘;component/’ Parameter name uri at System.Windows.NavigationServic.NagivationCore(Uri uri,)
很是纳闷,我再看一次视频,比较了timeheuer视频里演示的代码与下载的代码,没有发现什么不同.随后我新建一个以silverlight Navigation 为模板的项目,这个新项目可以正常运行,进行对比发现一些不同,所以我马上意识到silverlight.net站点的视频以及示例代码并不是silverlight Rtm,而是silverligh3 beta.
下面的步骤是我将silverlight3 Beta版的navigation framwork 示例代码进行修改以至于能在visual studio 2008 sp1里能正常运行:
1.对于出现错误: An unhandled exception (‘Unhandeld Error in Silverlight Application Navigation is ony supported to relative URIS that are fragments,or begin with ’/',or which contain' ‘;component/’ Parameter name uri at System.Windows.NavigationServic.NagivationCore(Uri uri,)你需要将MainPage.xaml中的tag内容前都加上'/’,App.xmal文件中的uri内容也是如此。
2.编译之后,如果打开浏览器浏览会出现错误如下:An unhandled exception (‘Unhandeld Error in Silverlight Application No XAML was found at the loaction ‘/Home’ .at System.Windows.Navigation.PageResourceContentLoader…
出现这个错误是由与MainPage.xaml中的MainFrame没有指定UriMapper,为MainFrame添加UriMapper="{StaticResource uriMapper}" (uriMapper在App.xaml文件)或者将App.xaml文件中的uriMapper内容加入到MainFrame,成为它的子元素,用navigation framwork 模板创建的项目MainPage就是那样写的。
3.做完这个步骤,示例程序可以运行,但是细心的你会发现原本正常的情况系浏览器里的uri是会变化的诸如http://localhost:27637/NavigationSampleTestPage.html/#Home;http://localhost:27637/NavigationSampleTestPage.html/#About,而且ie的前进后退按钮都不可用,所以还需要在对应的web项目中html的iframe添加 id=”_sl_historyFrame”,编译完重新运行,上述的2个问题都正常,最后就是Customer.xmal中的一个错误,原因同步骤一,在uri前加上'/’.
做完这些silverlight.net上关于navigation framework的示例代码才是silverlight3 rtm中的正确实例,我今天发现问题后在互联网搜了很久几乎没有人提到这个,不过这的却是个比较大的失误,就连timeheuer自己也没意识到。不过还是希望之后有或学习学习navigation framework的朋友可以不需在这里有疑惑
很是纳闷,我再看一次视频,比较了timeheuer视频里演示的代码与下载的代码,没有发现什么不同.随后我新建一个以silverlight Navigation 为模板的项目,这个新项目可以正常运行,进行对比发现一些不同,所以我马上意识到silverlight.net站点的视频以及示例代码并不是silverlight Rtm,而是silverligh3 beta.
下面的步骤是我将silverlight3 Beta版的navigation framwork 示例代码进行修改以至于能在visual studio 2008 sp1里能正常运行:
1.对于出现错误: An unhandled exception (‘Unhandeld Error in Silverlight Application Navigation is ony supported to relative URIS that are fragments,or begin with ’/',or which contain' ‘;component/’ Parameter name uri at System.Windows.NavigationServic.NagivationCore(Uri uri,)你需要将MainPage.xaml中的tag内容前都加上'/’,App.xmal文件中的uri内容也是如此。
2.编译之后,如果打开浏览器浏览会出现错误如下:An unhandled exception (‘Unhandeld Error in Silverlight Application No XAML was found at the loaction ‘/Home’ .at System.Windows.Navigation.PageResourceContentLoader…
出现这个错误是由与MainPage.xaml中的MainFrame没有指定UriMapper,为MainFrame添加UriMapper="{StaticResource uriMapper}" (uriMapper在App.xaml文件)或者将App.xaml文件中的uriMapper内容加入到MainFrame,成为它的子元素,用navigation framwork 模板创建的项目MainPage就是那样写的。
3.做完这个步骤,示例程序可以运行,但是细心的你会发现原本正常的情况系浏览器里的uri是会变化的诸如http://localhost:27637/NavigationSampleTestPage.html/#Home;http://localhost:27637/NavigationSampleTestPage.html/#About,而且ie的前进后退按钮都不可用,所以还需要在对应的web项目中html的iframe添加 id=”_sl_historyFrame”,编译完重新运行,上述的2个问题都正常,最后就是Customer.xmal中的一个错误,原因同步骤一,在uri前加上'/’.
做完这些silverlight.net上关于navigation framework的示例代码才是silverlight3 rtm中的正确实例,我今天发现问题后在互联网搜了很久几乎没有人提到这个,不过这的却是个比较大的失误,就连timeheuer自己也没意识到。不过还是希望之后有或学习学习navigation framework的朋友可以不需在这里有疑惑
相关文章推荐
- C语言解决螺旋矩阵算法问题的代码示例
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- 转载:Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- asp.net-N层代码示例
- iOS:苹果推送----一些示例代码和注意的问题
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
- Asp.net 2.0 一个简单的联动DropDownList示例(示例代码下载)
- .NET代码混淆学习和解决视频批量转换中.wmv转换出错问题
- ASP.NET中读写cookie数据示例代码
- Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)
- 使用XStream注解实现Java对象与XML互相转换的代码示例---转自:http://www.blogjava.net/bolo
- ASP.NET DropDownListCheckBox使用示例(解决回发问题)
- https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
- ASP.net的地址重写(URLRewriter)实现原理及代码示例
- ASP.NET实现Hadoop增删改查的示例代码
- ASP.Net本地化/国际化解决方案原理和代码示例
- 飞信的SDK应用与PowerTalk的结合(带视频演示和代码下载),IM,asp.net,客服,聊天示例
- .NET中 关于脏读 不可重复读与幻读的代码示例
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- AjaxPro.NET实现TextBox智能获取服务端数据功能(Asp.net 2.0)(示例代码下载)