Silverlight深层链接不使用页面和框架?

时间:2011-06-29 02:12:21

标签: silverlight deep-linking

我需要能够加载带有Silverlight模块的html页面,该模块基于从中访问的页面呈现内容。例如,如果打开页面的请求来自Page1.html,则内容将显示Content.1。我试图解决它,但需要更多信息。任何帮助都非常感谢:

这是我的代码: HTML:分配了新的参数:

<param name="inputParams" value="Page1.html" /> 

它可以是不同的网址字符串。

App.xaml.cs中的Silverlight代码

private void Application_Startup(object sender, StartupEventArgs e)
    {
        this.RootVisual = new MainPage();
        if (e.InitParams != null)
        {
            string ValueParam = e.InitParams["value"];
        }
    }

MainPage.xaml.cs中

public MainPage() 
    { 
        InitializeComponent(); 

        this.Loaded += new RoutedEventHandler(MainPage_Loaded);  

    } 

    void MainPage_Loaded(object sender, RoutedEventArgs e) 
    { 
        if (ValueParam = ?) 
        { 
            contentIndex =1; 
        } 
    } 

1 个答案:

答案 0 :(得分:2)

initParams参数的值本身应该是以逗号分隔的名称=值对。

您的param元素应如下所示: -

 <param name="inputParams" value="value=Page1.html" />

说完您的具体要求后,您可以通过HtmlPage对象访问主页的网址。

 string path = HtmlPage.Document.DocumentUri.AbsolutePath;

这可以节省您必须将页面名称专门复制到每个页面的每个initParams中。