我在aspx页面中使用silverlight内容。我创建的silverlight页面是在一个单独的silverlight项目中,我已将该项目添加到我的普通asp.net应用程序ClientBin.i需要重定向到我的aspx页面从一个银色页面按钮点击asp.net项目。我可以实现这个吗?
答案 0 :(得分:1)
我认为你有两个选择之一。在该silverlight控件的视图模型中,在初始化期间,将超链接按钮的导航URI绑定到要导航到的所需URI。选项2(更顺畅):在click方法上,在托管silverlight对象的页面上调用javascript方法。然后,该方法可以进行某种平滑的jquery过渡,或者只是为您进行简单的导航
选项1:<HyperlinkButton NavigateUri="{Binding DesiredURL}" TargetName="_blank" />
对于选项2,请记住包括:
使用System.Windows.Browser;
选项2:
public void OnFancyNavigate(string _destination)
{
//call the browser method/jquery method (I used constants to centralize the names of the respective browser methods
try
{
HtmlWindow window = HtmlPage.Window;
window.Invoke(Constants.TBrowserMethods.BM_FANCYNAVIGATE, new object[] { _destination});
}
catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); }
}
最后,在承载xap内容的aspx / html / .js文件中定义javascript方法:
function fancyNavigate(_destination) {
//some fancy jquery or just the traditional document.location change here
}
C#将在您的代码中调用时找到javascript方法,您应该好好去