我想使用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”的元素
答案 0 :(得分:0)
查看具有此类表达的类型:
form.Document.GetElementById(row["nombreCampo"].ToString())
我认为这里需要施法。