我正在尝试从Silverlight页面的代码隐藏回到同一应用程序中的ASPX页面。如何从ASPX页面的代码隐藏中执行“Response.Redirect”?我试过谷歌,没有任何实际工作。我的silverlight表单是UserControl类型。我无法将其更改为Page或sdk:Page,也不能将sdk:Page嵌入UserControl标记中。页面始终不为设计师所知。
答案 0 :(得分: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;
}
导航:
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);
修改 - 这里重复提问:
What is the Response.Redirect equivalent in Silverlight?
有类似的答案..