Silverlight NavigationFramework在导航时不会更改地址栏(不显示任何标签)
本文关键字:地址栏 显示 任何 标签 NavigationFramework 导航 Silverlight | 更新日期: 2023-09-27 17:59:04
我使用的是导航框架,基本上得到了一个用于导航的框架。我试过玩mainFrame.JournalOwnership
,因为我想也许改变它可能与此有关,但什么都没有改变。
由于与导航相关的类结构很小,我在这里有点困惑,我做错了什么,因为我想不出还有什么可以改变的来使导航工作。
我没有使用导航模板,我使用它的自由风格很像这个视频教程http://www.silverlight.net/learn/videos/all/navigation-framework/如果有人想知道的话。
提前谢谢。真的很挣扎。请帮助
我试图在另一个解决方案中重现这个错误,只使用我的大型机页面,并调用简单的navigatate来清空测试页面,它运行得很好,所以我现在有了新的问题。
也许有一种方法可以让我的SL页面HTML禁用导航框架设置的哈希标签?
编辑:我已经测试过把我的工作测试XAP放在我的html页面上,而不是我的整个应用程序,它没有更新这个页面上的标签。所以现在很明显html页面出了问题,可能是什么?
设置JournalOwnership=JournalOwnership的行为。OwnsJournal向SL表示,导航历史记录在其他地方维护。换句话说,不再使用用于跟踪历史的微小URL更改。请记住,在SL导航应用程序中导航一个框架并不会离开页面,但它确实会更新URI书签#来维护状态,就像AJAX维护历史一样。如果你的SL应用程序真的"离开了页面/URI",那么你的应用程序将不得不完全重新加载。无论您是使用导航模板还是现在使用,它都会按规定工作。更改"frames"实际上只是加载一个UserControl类型,并将内容放入现有SL控件的一个区域。
终于发现了问题。原来这里的密钥是silverlight使用此操作时使用的iframe,在我将以下代码添加到我的aspx页面后,它开始像魔术一样工作。
<iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
如下所述:http://msdn.microsoft.com/en-us/library/cc838245(VS.95).aspx