Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改下拉列表的值_C#_Asp.net_Html - Fatal编程技术网

C# 更改下拉列表的值

C# 更改下拉列表的值,c#,asp.net,html,C#,Asp.net,Html,我正在尝试使用单击事件处理程序上的以下代码更改下拉列表的值。按下按钮时,实际上没有任何变化。我错过了什么?这是正确的方法吗 HtmlDocument document = webBrowser1.Document; HtmlElement salutation = document.GetElementById("status"); salutation.SetAttribute("value", "Mr"); 这是html <select id="status"> <opt

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

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>

挑选
先生
夫人
您可以尝试(基于您的代码)

HtmlDocument document=webBrowser1.document;
HtmlElement-Sallation=document.GetElementById(“状态”);
var option=sallation.Children.Cast().First(x=>x.GetAttribute(“value”).Equals(“Mr”);
option.SetAttribute(“选定”、“选定”);

您是否正在选择
标记?如果是这样的话,不要用那个。选择
,如下所示:

<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称呼=document.GetElementById(“状态”);
var option=sallation.Children.Cast()。
其中(x=>x.GetAttribute(“选定”).Equals(“选定”).First();
if(option!=null)option.SetAttribute(“value”、“Mr”);

嗯,一个
有多个
值。所以,不,这个代码不太可能是正确的。尚不清楚“status”可能是什么元素,但很有可能您至少需要称呼。FirstChild。@Hans Passant这是我在html中添加的select元素的idpost@FreddieFabregas难道我不需要调用select来访问该选项吗?@Mr.1.0这对使用您的代码很有效。如何加载html?从url还是从字符串?@Mr.1.0能否显示更多代码?你在哪里设置html?请注意,我对代码做了一些修改,我在form.cs选项卡中设置了webbrowser url,我可以将文本添加到输入中。只是我有问题的选项。@Mr.1.0按原样使用我的答案。我很确定你错过了什么。我创建了一个新的项目,只是为了尝试这个,它的工作。
<select>
  <option value="volvo">Volvo</option>
  <option value="saab" selected="selected">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select>
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,");