如何更改TextArea的文本

时间:2012-09-25 07:27:52

标签: c# webforms textarea

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

  

Esta propiedad no se admite 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”的元素

1 个答案:

答案 0 :(得分:0)

查看具有此类表达的类型:

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

我认为这里需要施法。