James Christie
James Christie

Reputation: 21

How to open URL in new Browser from Silverlight Application

We have MVVM Silverlight application. I am trying to open web url from button click event which happen on client side viewmodel and through invoke method needs to open web url in new browser.

I am using Process.Start method as describe below in Server side code.

   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");

this throws an error related to user name and password. I checked user name and password is correct. Anyone have solution or any other method I can able to use?

Thanks,

Upvotes: 2

Views: 3787

Answers (2)

Adrien Constant
Adrien Constant

Reputation: 341

You could use this as well :

using System.Windows.Browser;
var uri = new Uri("http://foo.fr");
HtmlPage.Window.Navigate(uri, "_blank");

Easiest way to pass credentials is to put them in the URL, however it's not very secured. Ie:

http://user:[email protected]

Upvotes: 0

Rumplin
Rumplin

Reputation: 2768

You create a helper class:

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);
    }
 }

Usage:

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

Upvotes: 5

Related Questions