WebBrowser控件HtmlElement.SetAttribute不使用变量

时间:2014-05-24 11:15:55

标签: c# .net webbrowser-control

我面临一个非常奇怪的问题,我开始认为这是.Net中的某种错误。

问题是每当我在WebBrowserControl HtmlElement中使用字符串变量时,它根本不起作用。但是使用静态文本的相同代码可以工作:

decimal a = 0.00000001m;
decimal b = 0.00000002m;
decimal rest = b - a;
string text = rest.ToString();

foreach (HtmlElement htmle in webBrowser1.Document.All)
{
    if (htmle.GetAttribute("name").Contains("valueMath"))
    {
        htmlElement.SetAttribute("value", text);    <----- Doesn't work
        //htmlElement.SetAttribute("value", "0.00000001");   <----- Works perfectly
    }
}

有什么想法吗?

我使用Visual Studio 2012和.Net 4.5。

由于

1 个答案:

答案 0 :(得分:0)

发现问题,我发现的唯一错误就在我的脑海中:)

问题是这段代码在foreach中:

        decimal[] array= new decimal[5];

        array[0] = 0.00000001m;
        /*array[1] = 0.00000002m;
        array[2] = 0.00000003m;
        array[3] = 0.00000004m;
        array[4] = 0.00000005m;*/

        foreach (decimal a in array)
        {
              ...Code...
        }

数组值正在setattribute中使用,为了测试我有其他4个位置的注释,但是数组的数组位置仍为零。