Silverlight 导航系统全解析
1. 导航限制与历史记录支持
在 Silverlight 应用中,导航功能起着关键作用。首先,我们可以通过代码限制对特定页面的访问。以下是一段示例代码:
Private Sub mainFrame_Navigating(ByVal sender As Object, _
ByVal e As NavigatingCancelEventArgs)
If e.Uri.ToString().ToLower().Contains("RestrictedPage.xaml") Then
e.Cancel = True
End If
End Sub
这段代码会检查导航的 URI 是否包含“RestrictedPage.xaml”,如果包含则取消导航。这样做是为了避免因 URI 规范化问题导致的安全漏洞。例如,以下两个 URI 功能上是等价的:
- localhost://Navigation/TestPage.html#/Page1.xaml
- localhost://Navigation/TestPage.html#/FakeFolder/.../Page1.xaml
Silverlight 的 Frame 控件的导航功能与浏览器集成。每次调用 Navigate() 方法时,会在历史记录列表中添加新条目。用户可以使用浏览器的后退、前进按钮或历史记录列表来加载之前的页面,且不会导致应用重启。不过,当用户访问其他网站
超级会员免费看
订阅专栏 解锁全文
76

被折叠的 条评论
为什么被折叠?



