我无法为元素设置新属性,VS 2005在下面的代码中返回以下错误:
错误1方法'setAttribute'没有重载需要'2'参数 错误2方法'setAttribute'没有重载需要'2'参数 错误3方法'setAttribute'没有重载需要'2'参数
可能是什么问题?
谢谢!
try
{
IHTMLElementCollection AllElements = document.all;
foreach (IHTMLElement Element in AllElements)
{
if (Element.tagName.ToUpper() == "IMG")
{
if (Element.offsetHeight <= 40 && Element.offsetHeight >= 20)
{
if (Element.offsetWidth <= 160 && Element.offsetWidth >= 130)
{
Element.setAttribute("width", Element.offsetWidth);
Element.setAttribute("height", Element.offsetHeight);
Element.setAttribute("src", "images/newimage.png");
}
}
}
}
}
catch (Exception e)
{
string erro = e.Message;
System.Windows.Forms.MessageBox.Show(erro);
}
答案 0 :(得分:1)
从MSDN:看来第三个参数应该是可选的。
lFlags [in,optional] 类型:长
LONG指定是否使用区分大小写的搜索来定位属性。可以是以下值之一:
1
尊重strAttributeName的情况。
0
无论如何匹配strAttributeName。
您可以尝试传入0或1。
Element.setAttribute("width", Element.offsetWidth, 0);
Element.setAttribute("height", Element.offsetHeight, 0);
Element.setAttribute("src", "images/newimage.png", 0);
添加上述Hans评论的信息(如下所示):
“VS2005很老了.C#v2还不支持可选参数。” - Hans Passant:)