Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/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
Silverlight 5.0 如何从Silverlight应用程序在新浏览器中打开URL_Silverlight 5.0 - Fatal编程技术网

Silverlight 5.0 如何从Silverlight应用程序在新浏览器中打开URL

Silverlight 5.0 如何从Silverlight应用程序在新浏览器中打开URL,silverlight-5.0,Silverlight 5.0,我们有MVVM Silverlight应用程序。我试图从客户端viewmodel上发生的按钮单击事件中打开web url,并通过调用方法在新浏览器中打开web url 我使用的是Process.Start方法,在服务器端代码中描述如下 var URL = @"http://SiteSelect.aspx"; SecureString secure = new SecureString(); char[] passwordChars = Properties.Settings.D

我们有MVVM Silverlight应用程序。我试图从客户端viewmodel上发生的按钮单击事件中打开web url,并通过调用方法在新浏览器中打开web url

我使用的是Process.Start方法,在服务器端代码中描述如下

   var URL = @"http://SiteSelect.aspx";
   SecureString secure = new SecureString();
   char[] passwordChars = Properties.Settings.Default.Password.ToCharArray();
   //converting string to securestring...found from internet
    foreach (char c in passwordChars)
           {
             secure.AppendChar(c);
           }
    Process.Start(URL,"",Properties.Settings.Default.User,secure,"agent");
这会引发与用户名和密码相关的错误。我检查了用户名和密码是否正确。有人有我可以使用的解决方案或其他方法吗


谢谢,

您创建了一个助手类:

public static class CommonHelper
{
    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();
        }
    }

    public static void OpenURL(string navigateUri)
    {
        new HyperlinkButtonWrapper().OpenURL(navigateUri);
    }
 }
用法:

CommonHelper.OpenURL(@"http://SiteSelect.aspx");

您也可以使用此选项:

using System.Windows.Browser;
var uri = new Uri("http://foo.fr");
HtmlPage.Window.Navigate(uri, "_blank");
传递凭据最简单的方法是将它们放在URL中,但是它不是很安全。即:


谢谢,但我还必须通过认证。。。我怎么能做到这一点呢?很好而且很短的解决方案,但不适用于“浏览器外”应用程序。