如何从 Silverlight 应用程序中刷新浏览器页面?
Posted
技术标签:
【中文标题】如何从 Silverlight 应用程序中刷新浏览器页面?【英文标题】:How can I refresh the browser page from within a Silverlight app? 【发布时间】:2011-02-14 05:31:15 【问题描述】:有没有办法从 Silverlight 中重新加载浏览器页面?即与用户单击重新加载按钮的效果相同?
【问题讨论】:
我更喜欢在 url 查询中添加参数:***.com/questions/1722615/… 【参考方案1】:我一直用:
刷新页面的命名空间:
使用 System.Windows.Browser;
代码: 在你的按钮点击中给出这段代码..
htmlPage.Document.Submit();
【讨论】:
对我不起作用... :( IE9 或 Chrome 24 上的 Windows7 x64 上的 Silverlight 4.0【参考方案2】:你可以试试这个::-
HtmlPage.Window.Navigate(HtmlPage.Document.DocumentUri);
【讨论】:
@Travis:这可能与缓存有关,因此修改服务器发送的缓存标头可能会有所帮助。【参考方案3】:是的。您可以使用NavigationService.Refresh 方法重新加载页面。
【讨论】:
这真的会重新加载浏览器页面吗?听起来不像记录的链接。【参考方案4】:http://www.divelements.com/silverlight/tools.aspx
参考上面的链接。
用途:
htmlHost.Document.Submit();
【讨论】:
【参考方案5】:我用
System.Windows.Browser.HtmlPage.Document.Submit();
【讨论】:
【参考方案6】:在托管您的 silverlight xap 文件的 html 或 aspx 页面中,用 javascript 编写此函数
function refreshPage()
window.location.href = window.location.href + "?updated";
从您的 silverlight 应用程序内部,编写以下代码来刷新应用程序,而不会给用户留下页面已刷新的印象(考虑到 xap 文件已缓存并且它会立即刷新)
HtmlPage.Window.Invoke("refreshPage");
【讨论】:
以上是关于如何从 Silverlight 应用程序中刷新浏览器页面?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Web 浏览器中从 Silverlight 应用程序捕获图像
如何重新加载在浏览器中运行 Silverlight 应用程序的默认 AppDomain?
如何防止用户调整 silverlight 浏览器外窗口的大小?
在浏览器应用程序之外的 SilverLight 中显示长时间运行的保存过程的进度