2011-12-22 4 views
0

Я пытаюсь перейти с кодовой страницы страницы Silverlight обратно на страницу ASPX в том же приложении. Как я могу выполнить «Response.Redirect», как я хотел бы получить код на странице ASPX? Я пробовал Google, и ничего не получается, что на самом деле работает. Моя форма Silverlight имеет тип UserControl. Я не могу изменить его на страницу или sdk: Page ни встроить sdk: Page в тег UserControl. Страница всегда неизвестна дизайнеру.Есть ли эквивалент silverlight response.redirect?

+0

Ваше приложение использует навигационную систему? http://msdn.microsoft.com/en-us/library/cc838245(v=vs.95).aspx –

+0

Я думаю, что для инфраструктуры навигации требуется, чтобы XAML назывался самой страницей, а не как пользовательский элемент управления на существующая HTML-страница. Мне нужно разместить пользовательский элемент управления на обычной странице ASPX, поскольку у нас есть TON навигации и меню в наших шаблонах страниц, а silverlight - просто элемент страницы. –

+0

Возможный дубликат [Что такое эквивалент Response.Redirect в Silverlight?] (Http://stackoverflow.com/questions/7378037/what-is-the-response-redirect-equivalent-in-silverlight) –

ответ

3

Это работает для меня:

поставил этот метод где:

private string GetAbsoluteUrl(string strRelativePath) 
    { 
     if (string.IsNullOrEmpty(strRelativePath)) 
      return strRelativePath; 

     string strFullUrl; 
     if (strRelativePath.StartsWith("http:", StringComparison.OrdinalIgnoreCase) 
      || strRelativePath.StartsWith("https:", StringComparison.OrdinalIgnoreCase) 
      || strRelativePath.StartsWith("file:", StringComparison.OrdinalIgnoreCase)) 
     { 
      strFullUrl = strRelativePath; 
     } 
     else 
     { 
      strFullUrl = System.Windows.Application.Current.Host.Source.AbsoluteUri; 
      if (strFullUrl.IndexOf("ClientBin") > 0) 
       strFullUrl = strFullUrl.Substring(0, strFullUrl.IndexOf("ClientBin")) + strRelativePath; 
      else 
       strFullUrl = strFullUrl.Substring(0, strFullUrl.LastIndexOf("/") + 1) + strRelativePath; 
     } 

     return strFullUrl; 
    } 

Navigate через:

 string browserFeatures = "directories=yes,location=yes,menubar=yes,status=yes,toolbar=yes,resizable=yes"; 
     HtmlPage.Window.Navigate(new Uri(GetAbsoluteUrl("SomePage.aspx"), UriKind.Absolute), "_self", browserFeatures); 

Edit - дублированный вопрос здесь:

What is the Response.Redirect equivalent in Silverlight?

с аналогичным ответом.

Смежные вопросы