0

我想TextArea使用 C# 在 HTML 表单上设置 a 的值。我已经尝试过使用InnerText属性,但它不断引发异常:

Esta propiedad no se admissione en este tipo de HtmlElement。”
(此属性在此类 HtmlElement 中不被允许)

这是引发异常的行:

form.Document.GetElementById(row["nombreCampo"].ToString()).InnerText = 
    row["valorCampo"].ToString();

这是它周围的代码:

//recorro los formularios de la página
foreach (HtmlElement form in webBrowser1.Document.Forms)
{
    //recorro las filas del DataTable con los datos a autorellenar
    foreach (DataRow row in dt.Rows)
    {
        //si conincide el nombre del campo con el nombre del DataTable, autorelleno
        if ((form.Document.GetElementById(row["nombreCampo"].ToString())!=null))
        {
            //para que ignore las minúsculas/mayúsculas
            if (form.Document.GetElementById(row["nombreCampo"].ToString())
                .Name.Equals("description", StringComparison.OrdinalIgnoreCase)) 
            {
                form.Document.GetElementById(row["nombreCampo"].ToString())
                    .InnerText = row["valorCampo"].ToString();
            }
            else
            {
                form.Document.GetElementById(row["nombreCampo"].ToString())
                    .SetAttribute("value", row["valorCampo"].ToString());
            }
        }//fin if
    }//fin foreach interno
}//fin foreach externo

我无法更改网页的结尾,所以这不是一个选择。

[已解决]:我试图访问错误的元素,因为有多个名为“description”的元素

4

1 回答 1

0

看看什么类型有这样的表达:

form.Document.GetElementById(row["nombreCampo"].ToString())

我认为这里需要演员表。

于 2012-09-25T07:55:40.603 回答