Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法加载URI的内容。URI可能无效_C#_Silverlight_Exception Handling_Silverlight 5.0 - Fatal编程技术网

C# 无法加载URI的内容。URI可能无效

C# 无法加载URI的内容。URI可能无效,c#,silverlight,exception-handling,silverlight-5.0,C#,Silverlight,Exception Handling,Silverlight 5.0,我必须说,我对此感到相当困惑,我希望你们中的一些人可能也遇到过同样的问题。我有一个超链接按钮,创建方式如下: var hb = new HyperlinkButton { Content = fooText, ClickMode = ClickMode.Release, NavigateUri = new Uri(fooLink.Value) }; hb.Click += hb_Click; static void hb_Click(object sender,

我必须说,我对此感到相当困惑,我希望你们中的一些人可能也遇到过同样的问题。我有一个超链接按钮,创建方式如下:

var hb = new HyperlinkButton
{
     Content = fooText,
     ClickMode = ClickMode.Release,
     NavigateUri = new Uri(fooLink.Value)
};
hb.Click += hb_Click;

static void hb_Click(object sender, RoutedEventArgs e)
{
    var btn = (HyperlinkButton)sender;
    HtmlPage.Window.Navigate(btn.NavigateUri, "_blank");
}
HtmlPage.Window.Navigate(btn.NavigateUri);
链接是指向网站(.)的绝对URL,而不是应用程序内部。因此,我想在新的浏览器选项卡中打开它。这正是它所做的!网站将在新选项卡中打开,但在“应用程序”选项卡中出现以下错误:

如果我更改事件处理程序,使其没有目标参数,如下所示:

var hb = new HyperlinkButton
{
     Content = fooText,
     ClickMode = ClickMode.Release,
     NavigateUri = new Uri(fooLink.Value)
};
hb.Click += hb_Click;

static void hb_Click(object sender, RoutedEventArgs e)
{
    var btn = (HyperlinkButton)sender;
    HtmlPage.Window.Navigate(btn.NavigateUri, "_blank");
}
HtmlPage.Window.Navigate(btn.NavigateUri);
…在浏览器离开应用程序之前,也会出现错误。但我想打开一个新标签

我正在使用VisualStudio11中的Silverlight业务应用程序模板,我已经注意到它有一些神秘的bug,这可能是其中之一。总之,它是有效的,我只需要去掉错误消息。但事件处理程序中没有引发我可以接受的异常。

尝试以下方法:

    /// <summary>
    /// Hyperlink button - simulates hyperlink click
    /// </summary>
    private class HyperlinkButtonWrapper : HyperlinkButton
    {
        public void OpenURL(string navigateUri)
        {
            OpenURL(new Uri(navigateUri, UriKind.Absolute));
        }

        public void OpenURL(Uri navigateUri)
        {
            base.NavigateUri = navigateUri;
            base.TargetName = "_blank";
            base.OnClick();
        }
    }

    /// <summary>
    /// Method opens url
    /// <para>Example: OpenURL("http://www.google.com")</para>
    /// </summary>
    /// <param name="navigateUri"></param>
    public static void OpenURL(string navigateUri)
    {
        new HyperlinkButtonWrapper().OpenURL(navigateUri);
    }
//
///超链接按钮-模拟超链接单击
/// 
私有类HyperlinkButton说话者:HyperlinkButton
{
公共void OpenURL(字符串navigateUri)
{
OpenURL(新的Uri(navigateUri,UriKind.Absolute));
}
公共void OpenURL(Uri navigateUri)
{
base.NavigateUri=NavigateUri;
base.TargetName=“_blank”;
base.OnClick();
}
}
/// 
///方法打开url
///例如:OpenURL(“http://www.google.com")
/// 
/// 
公共静态void OpenURL(字符串navigateUri)
{
新的HyperlinkButtonRapper().OpenURL(navigateUri);
}
试试这个:

    /// <summary>
    /// Hyperlink button - simulates hyperlink click
    /// </summary>
    private class HyperlinkButtonWrapper : HyperlinkButton
    {
        public void OpenURL(string navigateUri)
        {
            OpenURL(new Uri(navigateUri, UriKind.Absolute));
        }

        public void OpenURL(Uri navigateUri)
        {
            base.NavigateUri = navigateUri;
            base.TargetName = "_blank";
            base.OnClick();
        }
    }

    /// <summary>
    /// Method opens url
    /// <para>Example: OpenURL("http://www.google.com")</para>
    /// </summary>
    /// <param name="navigateUri"></param>
    public static void OpenURL(string navigateUri)
    {
        new HyperlinkButtonWrapper().OpenURL(navigateUri);
    }
//
///超链接按钮-模拟超链接单击
/// 
私有类HyperlinkButton说话者:HyperlinkButton
{
公共void OpenURL(字符串navigateUri)
{
OpenURL(新的Uri(navigateUri,UriKind.Absolute));
}
公共void OpenURL(Uri navigateUri)
{
base.NavigateUri=NavigateUri;
base.TargetName=“_blank”;
base.OnClick();
}
}
/// 
///方法打开url
///例如:OpenURL(“http://www.google.com")
/// 
/// 
公共静态void OpenURL(字符串navigateUri)
{
新的HyperlinkButtonRapper().OpenURL(navigateUri);
}

您可以这样做:

var hb = new HyperlinkButton
{
     Content = fooText,
     ClickMode = ClickMode.Release,
     NavigateUri = new Uri(fooLink.Value),
     TargetName = "_blank"
};
没有单击事件处理程序


它应该以更干净的方式完全满足您的要求。

您可以这样做:

var hb = new HyperlinkButton
{
     Content = fooText,
     ClickMode = ClickMode.Release,
     NavigateUri = new Uri(fooLink.Value),
     TargetName = "_blank"
};
没有单击事件处理程序


它应该以一种更干净的方式完全符合您的要求。

请复制/粘贴文本中错误的堆栈跟踪,屏幕截图没有任何意义。哦,好的,我下次会尽量记住它。我想这可能有助于发布整个事件,而不仅仅是错误细节。感谢您的编辑。如果图像无法访问,请将其翻译为文本并翻译为英语(由于某些原因,原始消息为“双语”):无法加载URI的错误内容。URI可能无效。参数名称:System.Windows.Navigation.NavigationService.NavigationCore(uri uri、NavigationMode模式、Boolean suppressJournalAdd、Boolean isRedirect)图像中的uri错误详细信息托管在专门的SO服务上,因此将保留相当长的一段时间。您是否已检查并执行类似操作?请在文本中复制/粘贴错误的堆栈跟踪,截图毫无意义。哦,好吧,下次我会尽量记住的。我想这可能有助于发布整个事件,而不仅仅是错误细节。感谢您的编辑。如果图像无法访问,请将其翻译为文本并翻译为英语(由于某些原因,原始消息为“双语”):无法加载URI的错误内容。URI可能无效。参数名称:System.Windows.Navigation.NavigationService.NavigationCore(uri uri、NavigationMode模式、Boolean suppressJournalAdd、Boolean isRedirect)图像中的uri错误详细信息托管在专用于SO的服务上,因此将保留相当长的时间。您是否已检查并进行类似操作?不幸的是,这并不能解决问题。无论如何,谢谢。不幸的是,这并不能解决问题。无论如何,谢谢。是的,谢谢你!我不知道它为什么有效,但它有效。在设置TargetName属性时,错误不再显示。正如我在对问题的评论中所说的,我在客户端部署的一些未知CMS上遇到过此类问题(无法以编程方式导航)。在多次尝试修复失败后,切换到本机HyperlinkButton功能修复了此问题。是的,谢谢!我不知道它为什么有效,但它有效。在设置TargetName属性时,错误不再显示。正如我在对问题的评论中所说的,我在客户端部署的一些未知CMS上遇到过此类问题(无法以编程方式导航)。在多次尝试修复失败后,切换到本机HyperlinkButton功能修复了该问题。