【问题标题】:How do I get the silverlight view page name and querstring from silverlight code behind?如何从 silverlight 代码后面获取 silverlight 视图页面名称和查询字符串?
【发布时间】:2010-10-15 00:06:59
【问题描述】:

带有 Ria 服务和 SL4 的 VS2010。

我已经在浏览器中加载了我的 SL 应用程序。

用户点击不同的视图页面,我想将他们的当前位置存储在“最近访问的页面”列表中。

为此,我需要存储视图页面 + 任何现有的查询字符串键/值。

例如:这是我的 sl 应用程序中的一个真实页面: http://localhost:52878/Default.aspx#/DocSearchShell?CM-Origination

我不关心 # 号之前的任何事情 - 谷歌上有上百万种方法可以从 sl 获取 http://localhost:52878/Default.aspx uri。

想要的是查询字符串的 "DocSearchShell?CM-Origination" 部分 - 这就是我要为“最近访问的页面”捕获和存储的内容"

如何从 sl4 (.NET 4) 代码隐藏中执行此操作?

谢谢!

【问题讨论】:

  • 浏览器自带的历史功能不为你提供这个功能吗?
  • 如果我使用内置的 SL4 导航,我可以访问查询字符串的“DocSearchShell?CM-Origination”部分: private void ContentFrame_Navigated(object sender, NavigationEventArgs e){string myPage = e.Uri.ToString ()} 但我真的很想知道如何从该事件方法之外获得它。

标签: silverlight-4.0 .net-4.0 query-string


【解决方案1】:
    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        // The answer is this:
        // e.Uri.OriginalString;
    }

【讨论】:

  • 这是我发现的唯一方法。不过,如果能了解如何在 OnNavigatedTo 方法之外执行此操作会很高兴。
【解决方案2】:

您可以通过System.Windows.Browser.HtmlPage.Window.CurrentBookmark 访问“#”符号后面的查询字符串部分。 它适用于 SL 应用程序的任何部分。

【讨论】:

    猜你喜欢
    • 2011-07-17
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    相关资源
    最近更新 更多