none
como mostrar una pagina aspx en un webBrowser dentro de un form

    Pregunta

  • Hola nuevamente a todos!

    Estoy realizando una aplicacion en visual C# y tengo varios formularios, necesito mostrar un grafica y ya lo logre, el caso es que puedo mostrar la grafica pero en una pagina asp.

    me surge la siguiente duda: tengo organizada mi aplicacion principal dentro de una carpeta, porque la cree como proyecto, y tengo mis paginas aspx en otra carpeta porque la cree como sitio web, ahora bien, si ejecuto mis paginas asp a traves del depurador del programa, me abre el internet explorer y me muestra la pagina y lo que aparece en la barra de direcciones es esto: http://localhost:2888/Graficas/Comparaciones.aspx, si pongo dentro de mi aplicacion principal (el cual dentro del formulario ya esta el WebBrowser) que a traves de la direccion anteriormente escrita me despliegue la pagina dentro de ese webbrowser, lo hace sin ningun problema. Pero ahora bien, si copio tanto la carpeta que contiene mi proyecto principal como la que contiene mi sitio y trato de ejecutarlo en otra maquina pues no corre, me imagino que es porque el puerto es otro, etc.

    Hay alguna forma de indicarle a mi proyecto principal que cuando se de click en el boton destinado para abir la pagina la abra sin importar en que ordenador este, siempre y cuando se hayan copiado las dos carpetas (el proyecto principal y el del sitio web), es decir, algo asi como una URL relativa. Como se haria?

    El codigo con el que puedo visualizar mi pagina es el siguiente:
    Boton Ver Grafica:
    private void verGraficaToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Navigate(
    http://localhost:2888/Graficas/Interrupciones.aspx); // como pondria la direccion para mandar a llamar la pagina?
    }

    funcion Navigate:

    private
    void Navigate(String address)
    {
    if (String.IsNullOrEmpty(address)) return;
    if (address.Equals("about:blank")) return;
    if (!address.StartsWith("http://") &&
    !address.StartsWith(
    "https://"))
    {
    address =
    "http://" + address;
    }
    try
    {
    webBrowser1.Navigate(
    new Uri(address));
    }
    catch (System.UriFormatException)
    {
    return;
    }}

    Si me pudieran dar algun ejemplo de como mandar a llamar la pagina dentro del webbrowser que esta dentro de mi formulario se los agradeceria mucho. Gracias de antemano..

    jueves, 02 de julio de 2009 22:27

Respuestas

  • hola,

    recuerda que las pc con winxp si tienen IIS, pero solo las versiones professional, las version Home no lo traen.

    ademas estas solo permiten un sitio en el cual puedes crear directorios virtuales, pero sitio solo uno en el puerto 80.

    veo que en tu aplicacion haces: http://localhost:2888/Graficas/Comparaciones.aspx
    en win xp el puerto 2888, por ahi se complique en utilizarlo.
    Salvo que al sitio de xp le cambies el puerto del 80 a este, pero simpre es un solo puerto porque hay un solo sitio.

    Si pudes en el xp ve a control panel ->  administrative tools -> Internet Information Service, y alli podras ver como configurar el sitio.
    alli podras ver cual es la carpeta del sitio, y el puerto, pero seguramente sea algo como esto:
    http://localhost/Graficas/Comparaciones.aspx

    si sabes como configurar iis en win2003, proque veo que actualmente lo haces, en xp es similar solo que con algunas limitanten.

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 03 de julio de 2009 12:43

Todas las respuestas

  • hola,

    consulta, cuando dices que copias el contenido de las carpetas a otra maquina, te refieres a que als copias a otro sitio definido en la otra maquina ?

    o sea recuerda que necestias de un sitio que pueda parsear aspx, o sea necesitas IIS para que las paginas funcionen, si las pegas en una carpeta cualqueira estas no van a funcionar.

    Lo ideal es que tengas un servidor web, con iis y estas paginasy todos tus clientes referencien a este.

    O sea necesitas un servicio de iis para aspx, o asp, solo html correra si lo pegas en carpetas porque justamente no es scripting es codigo estatico.


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 02 de julio de 2009 23:24
  • hola,

    consulta, cuando dices que copias el contenido de las carpetas a otra maquina, te refieres a que als copias a otro sitio definido en la otra maquina ?

    o sea recuerda que necestias de un sitio que pueda parsear aspx, o sea necesitas IIS para que las paginas funcionen, si las pegas en una carpeta cualqueira estas no van a funcionar.

    Lo ideal es que tengas un servidor web, con iis y estas paginasy todos tus clientes referencien a este.

    O sea necesitas un servicio de iis para aspx, o asp, solo html correra si lo pegas en carpetas porque justamente no es scripting es codigo estatico.


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Eres muy amable al responder.

    Al decir que copio las carpetas me refiero que asi como me las genera el visual studio 2005 asi las copio a la otra maquina, la cual tiene windows xp, y por lo poquito que acabo de leer, windows xp profesional incluye una version limitada de IIS, pero la verdad no se como convertir la maquina en un tipo de servidor para que se puedan ver mis paginas aspx. Podrias darme una pequeña orientacion sobre como hacerlo o alguna idea, te lo agradeceria mucho.

    Saludos...
    jueves, 02 de julio de 2009 23:52
  • hola,

    recuerda que las pc con winxp si tienen IIS, pero solo las versiones professional, las version Home no lo traen.

    ademas estas solo permiten un sitio en el cual puedes crear directorios virtuales, pero sitio solo uno en el puerto 80.

    veo que en tu aplicacion haces: http://localhost:2888/Graficas/Comparaciones.aspx
    en win xp el puerto 2888, por ahi se complique en utilizarlo.
    Salvo que al sitio de xp le cambies el puerto del 80 a este, pero simpre es un solo puerto porque hay un solo sitio.

    Si pudes en el xp ve a control panel ->  administrative tools -> Internet Information Service, y alli podras ver como configurar el sitio.
    alli podras ver cual es la carpeta del sitio, y el puerto, pero seguramente sea algo como esto:
    http://localhost/Graficas/Comparaciones.aspx

    si sabes como configurar iis en win2003, proque veo que actualmente lo haces, en xp es similar solo que con algunas limitanten.

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 03 de julio de 2009 12:43
  • hola,

    recuerda que las pc con winxp si tienen IIS, pero solo las versiones professional, las version Home no lo traen.

    ademas estas solo permiten un sitio en el cual puedes crear directorios virtuales, pero sitio solo uno en el puerto 80.

    veo que en tu aplicacion haces: http://localhost:2888/Graficas/Comparaciones.aspx
    en win xp el puerto 2888, por ahi se complique en utilizarlo.
    Salvo que al sitio de xp le cambies el puerto del 80 a este, pero simpre es un solo puerto porque hay un solo sitio.

    Si pudes en el xp ve a control panel ->  administrative tools -> Internet Information Service, y alli podras ver como configurar el sitio.
    alli podras ver cual es la carpeta del sitio, y el puerto, pero seguramente sea algo como esto:
    http://localhost/Graficas/Comparaciones.aspx

    si sabes como configurar iis en win2003, proque veo que actualmente lo haces, en xp es similar solo que con algunas limitanten.

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Muchas gracias por tu respuesta leandro, lo revisare.
    sábado, 04 de julio de 2009 4:52
  • Lo que tendrías que poner sería:

    --Si la pagina que hace la llamada está dentro de la misma carpeta:

    Navigate(Interrupciones.aspx);

    --Si la pagina que hace la llamada está en una carpeta superior

    Navigate(Graficas/Interrupciones.aspx)

    --Si la pagina que hace la llamada está en otra carpeta en paralelo

    Navigate(../Graficas/Interrupciones.aspx)

    (...) etc, según donde esté ubicada la página que hace la llamada con respecto a la página que quieres llamar.

    miércoles, 29 de febrero de 2012 18:06