如何设置类的innertext

时间:2013-05-01 11:09:56

标签: c# html htmlcollection

我的网页上有这个代码:

<div class="goog-inline-block goog-flat-menu-button-caption">
      TestText
</div>

我想知道如何使用C#访问此类并将TestText更改为其他字符串。

我正在尝试HtmlCollection,但没有InnerText选项。

编辑:我无法更改上面的代码。

3 个答案:

答案 0 :(得分:1)

假设您正在使用ASP.NET并且您的div位于至少一个具有runat =“server”属性的容器中,即Form

<form id="form1" runat="server">
    <div class="goog-inline-block goog-flat-menu-button-caption">
        TestText
    </div>
</form>

你可以这样做:

var xml = form1.InnerHtml;
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

var nodes = doc.SelectSingleNode("//div[contains(@class,'goog-inline-block goog')]");
foreach(XmlNode node in nodes)
{
   node.InnerText = " changed Text";
}
form1.InnerHtml = xml = doc.InnerXml;

使用 Linq to SQL ,即 XDocument

XDocument doc = XDocument.Parse(xml);
var nodes = doc.Elements("div")
               .Where(s => s.Attribute("class").Value
                            .Contains("goog-inline-block goog")
                     )
               .ToList();
foreach (XElement elem in nodes)
{
   elem.Value = "changed text";
}
form1.InnerHtml = doc.ToString();

答案 1 :(得分:0)

添加 runat =“server” id 属性,以便您拥有:

<div id="mydiv" class="goog-inline-block goog-flat-menu-button-caption" runat="server" >
      TestText
</div>

您可以使用:

来使用class属性
  

mydiv.Attributes [“class”] =“classOfYourChoice”;

  

mydiv.InnerText =“您选择的文字”;

希望您理解并帮助您..

答案 2 :(得分:0)

在C#中,您需要提供id并在div标签中设置runat =“server”,如下所示。

<div id="divTest" runat="server" class="goog-inline-block goog-flat-menu-button-caption">
      TestText
</div>

然后 在C#Code背后

divText.InnerText = "Change Text From Here.";

试试这个,如果不行,请详细解释我的问题。