0

click我正在尝试使用事件处理程序上的以下代码更改下拉列表的值 。按下按钮时实际上没有任何变化。我错过了什么?这是正确的方法吗?

HtmlDocument document = webBrowser1.Document;
HtmlElement salutation = document.GetElementById("status");
salutation.SetAttribute("value", "Mr");

这是html

<select id="status">
<option selected="selected" value="">Select</option>
<option value="Mr">Mr.</option>
<option value="Mrs">Mrs.</option>
</select>
4

2 回答 2

1

你可以试试这个(根据你的代码)

      HtmlDocument document = webBrowser1.Document;
        HtmlElement salutation = document.GetElementById("status");

        var option = salutation.Children.Cast<HtmlElement>().First(x => x.GetAttribute("value").Equals("Mr"));
        option.SetAttribute("selected", "selected");
于 2013-02-27T02:47:40.340 回答
0

你在选择<select>标签吗?如果是这样,请不要使用它。选择<option>,就像这样:

<select>
  <option value="volvo">Volvo</option>
  <option value="saab" selected="selected">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select>

要查看它的实际效果:请参阅此链接

使用来自 Scartag 的一些代码,这个怎么样:

HtmlElement salutation = document.GetElementById("status");

var option = salutation.Children.Cast<HtmlElement>().
             Where(x => x.GetAttribute("selected").Equals("selected")).First();

if (option != null) option.SetAttribute("value","Mr,");
于 2013-02-27T02:51:13.723 回答