如何从 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 中显示长时间运行的保存过程的进度

如何将数据从 asp.net 推送到 flash/silverlight 客户端?

Silverlight安装成功后,提示安装