1

HtmlPage.Window.Navigate(HtmlPage.Document.DocumentUri); のように、Silverlight からブラウザー ページを更新する方法があることは知っています。または System.Windows.Browser.HtmlPage.Document.Submit(); これらは、コンテナー ページがページの全領域を使用している場合は正常に機能しますが、Silverlight アプリがある種のマスター ページに属する子ページに配置されている場合はどうでしょうか? つまり、以下のコードには、3 つのセクションを持つ Application.aspx というページがあります (main.aspx は、silvelight アプリがある場所です)。

<frameset >
    <frame id=frameTitle name=frameTitle src="title.aspx" noResize scrolling="no"   frameborder="no" height="75" />
    <frame name="frameSpacer" id="frameSpacer" src="spacer.aspx" noresize scrolling="no" marginwidth="0" marginheight="0"/>
    <frame id="frameMain" name="frameMain" src="main.aspx" noResize scrolling=no frameborder="no" />
</frameset>

Main.aspx だけでなく、Application.aspx を更新するにはどうすればよいですか (Document.Submit() を使用すると、main.aspx が部分的に更新されます)。他の方法を使用していますか?

前もって感謝します。

4

1 に答える 1

2

解決策: コンテナーの aspx ページから、js 関数を追加する必要があります。

 function reload() {
        window.parent.location.reload(true);
    }

Silverlight から: js 関数 "reload" への呼び出しを追加する必要があります。

HtmlPage.Window.Invoke("reload");
于 2012-07-23T14:50:33.613 に答える