如何从silverlight框架加载aspx页面?

时间:2010-10-06 10:18:26

标签: asp.net silverlight-4.0 iframe treeview navigation

我在Silverlight应用程序中有两个框架。

一帧包含TreeView控件。当用户点击其中一个TreeView的项目时,我希望将ASPX页面加载到下一帧。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

通过aspx,我认为你的意思是由aspx页面调用生成的HTML页面。您可以使用SL4中引入的网络browser control,但我认为它仅适用于OOB模式。

答案 1 :(得分:0)

您可以使用以下命令在不同的浏览器框架中打开任何URL,作为对用户点击Silverlight TreeViewItem的反应:

<强> XAML

<sdk:TreeView Name="_tree" SelectedItemChanged="Tree_SelectedItemChanged" />

<强> C#

private void Tree_SelectedItemChanged(object sender, 
                                      RoutedPropertyChangedEventArgs<object> e)
{
    var selection = e.NewValue;

    // Extract URL from selected tree node, perhaps
    var url = ...

    var uri = new Uri(url); // Absolute URL
    // var uri = new Uri(url, UriKind.Relative); // Relative URL

    // Get the name of the frame in which to display the page from somewhere
    var frameName = ...

    HtmlPage.Window.Navigate(uri, frameName);
}