Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Black.scorpion.x en 18 Abril 2018, 21:02 pm



Título: Error CS0104: 'HtmlElement' 'System.Web.UI.HtmlControls.HtmlElement' y 'System.W
Publicado por: Black.scorpion.x en 18 Abril 2018, 21:02 pm
Hola estimados me encuentro desarrollado aplicación obtiene el DOM de un sitio web, el cual saque el contenido en primer instancia en WinForms y ahora me encuentro tratando de implementar lo mismo que realice WinForms a un WebForm en C#.
1.- La página a la cual estoy recorriendo del DOM con C# tiene varios IFRAME el código HML del sitio Web
2.- Dentro del código de C# necesitaba leer el contenido que se encontraba dentro del  IFRAME con el id=A4, Dentro de Iframe.
3.- Dentro del IFRAME  con el id A4 este contienes varios Select anidados con Ajax donde, como señale anteriormente tengo problemas para leer.
4.- El problema es el siguiente tratao de leer los select que se encuentra dentro del iframe A4 lo cual lo realizo en le WinForm pero cuando trato de adaptar el código al WebForm me aparece el siguiente problema

Mensaje de error del compilador: CS0104: 'HtmlElement' es una referencia ambigua entre 'System.Web.UI.HtmlControls.HtmlElement' y 'System.Windows.Forms.HtmlElement'
El código HTML es el siguiente :
Código:
<body>
<div id="contFrameUno" class="frameWrapper" style="margin: 0px auto; width: 100%;">
<div id="contFrameDos" class="frameWrapper" style="margin: 0px auto; width: 100%;">
<iframe id="a1" width="100%" height="103px" frameborder="0" style="vertical-align:top;" scrolling="no" src="top.php" name="a1">
<br>
<iframe id="a3" width="16%" height="730px" frameborder="0" style="vertical-align:top; margin-left: 28px;" scrolling="no" src="left.php" name="a3">
<iframe id="a4" width="78%" height="770px" frameborder="0" style="vertical-align:top;" scrolling="auto" src="moduloautoconsulta.php" name="a4">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<table width="200" border="1">
  <tr>
    <td>
      <label for="Competencia"></label>
      <select name="Competencia" id="Competencia">
        <option value="A1">Competencia1</option>
        <option value="A2">Competencia2</option>
        <option value="A3">Competencia3</option>
      </select>
    </td>
  </tr>
  <tr>
    <td><select name="Tribunal" id="Tribunal">
        <option value="TR1">Tribunal 1</option>
        <option value="TR2">Tribunal 2</option>
        <option value="TR2">Tribunal 3</option>
    </select></td>
  </tr>
  <tr>
    <td><select name="Corte" id="Corte">
        <option value="Corte1">Corte 1</option>
        <option value="Corte2">Corte 3</option>
        <option value="Corte3">Corte 3</option>
    </select></td>
  </tr>
  <tr>
    <td><select name="Tipo" id="Tipo">
        <option value="Tipo1">Tipo 1</option>
        <option value="Tipo2">Tipo 2</option>
        <option value="Tipo4">Tipo 3</option>
    </select></td>
  </tr>
  <tr>
    <td><select name="SubTipo" id="SubTipo">
        <option value="SubT1">Sub Tipo 1</option>
        <option value="SubT2">Sub Tipo 2</option>
        <option value="SubT3">Sub Tipo 3</option>
    </select></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
</body>
</html>
</iframe>
<br>
<iframe id="a6" width="100%" height="83px" frameborder="0" style="vertical-align:bottom;" scrolling="no" src="footer.php" name="a6">
</div>
</div>


El Codigo de C# es el siguiente

Código:
   private void GetLinksFromFrames()
        {
            try
            {

                WebBrowser.Navigate("https://misitio.com/frameInv.php");
                string frameUrl;

                if (!(this.webPoderJudicial.Document == null))
                {
                  //  WebCargado = true;
                    HtmlWindow currentWindow = this.WebBrowser.Document.Window;
                    if (currentWindow.Frames.Count > 0)
                    {
                        foreach (HtmlWindow frame in currentWindow.Frames)
                        {
                            frameUrl = frame.Url.ToString();


                            if (frameUrl == "https:///misitio.com/moduloautoconsulta.php")
                            {
                                 HtmlElementCollection select = frame.Document.GetElementsByTagName("select");
                                foreach (HtmlElement el in select)
                                {

                                    if (el.Name == "competencia")
                                    {
                                        Application.DoEvents();
                                        foreach (HtmlElement ele in el.GetElementsByTagName("option"))
                                        {
                                                                                        cmbCompetencia.Items.Add(ele.InnerText);
                                        }
                                    }
                                }
                            }
                        }
                    }                   
                }
            }
            catch (Exception ex) {
            }

        }


Título: Re: Error CS0104: 'HtmlElement' 'System.Web.UI.HtmlControls.HtmlElement' y 'System.W
Publicado por: Serapis en 19 Abril 2018, 17:06 pm
El mensaje de error es claro...

Citar
Mensaje de error del compilador: CS0104: 'HtmlElement' es una referencia ambigua entre 'System.Web.UI.HtmlControls.HtmlElement' y 'System.Windows.Forms.HtmlElement'

Básicamente te está diciendo que tienes un identificador, que el compilador no sabe a cual de los espacios de nombre (que lo contienen como miembro) pertenece ...

...y que o bien lo declaras (del tipo que es) , o bien lo cualificas (identAbuelo.identPadre.identificador)