C# 访问标签";选择权;在Htmlement中

C# 访问标签";选择权;在Htmlement中,c#,html,C#,Html,需要改变这一点: <select name="asdf"> <option selected>a</option> <option>b</option> <option>c</option> </select> A. B C 我得到了HtmlElement,但无法通过htmlEle.SetAttribute(“value”,“c”)更改它 我想将所选选项从a更改为c假设:

需要改变这一点:

<select name="asdf">
    <option selected>a</option>
    <option>b</option>
    <option>c</option>
</select>

A.
B
C
我得到了
HtmlElement
,但无法通过
htmlEle.SetAttribute(“value”,“c”)更改它


我想将所选选项从a更改为c

假设:
htmlEle
是选项元素

C#:请尝试:

  htmlEle.textContent = "a1";
要使选项显示为选中的气体

 htmlEle.setAttribute("selected", "true");
HTML/JavaScript:

您的意思是要将第一个选项的显示值从
a
更改为
c
,然后尝试以下操作:

      htmlEle.innerHTML = "c";
要使选项显示为选中的气体

 htmlEle.setAttribute("selected", "true");
setAttribute(“选定的”、“选定的”)

如果我为selectbox分配了一个
ID

      <select name="asdf" id="selectBox">
         <option selected>a</option>
         <option>b</option>
         <option>c</option>
       </select>

将第一个选项的值更改为
a1

这很容易用

htmlEle.value = "c";

一旦拥有元素,就可以循环遍历子元素并更新所选属性:

var ele = webBrowser1.Document.GetElementById("asdf");

if (ele != null)
{
    foreach (HtmlElement child in ele.Children)
    {
        child.SetAttribute("selected", "false");
        if (child.InnerText == "c")
            child.SetAttribute("selected", "true");
    }
}

什么不起作用?您是否有任何错误?没有,只是没有更改为组合框我要更改您在组合框中到底要更改什么?组合框中当前为“a”的选定项我要更改为“c”,这仍然未指定。您希望选项是c、b、c吗?听起来很奇怪。或者你真的想选择第三个选项?这不是他想做的。您编写的内容将清除选择项的所有innerHTML。问题…:)@gdoron:我没有处理select元素,我正在更新option元素。请参考答案中的例子,试一下你自己。@Downvoter:请留下一些评论来理解这个问题。我没有投反对票,但这似乎没有满足他的要求。(顺便说一句,他想要的是C#代码,而不是我们两人都用过的js。)@gdoron:问题不清楚,所以答案是。更新了答案。为什么要删除C#标记?根据术语
HtmlElement
SetAttribute
调用,很明显他正在将html加载到一个C#webbrowser中,并试图在那里对其进行操作。C#没有获得htmele:\@JohnKoerner上的成员值。对不起,这对我来说一点都不明显。这篇文章过去写得很差,现在也写得很差(