2013-04-23 90 views
-1

如何从C#中的Web浏览器控件中的textarea中获取文本值。如果我不知道textarea的ID或名称?如何从C#中的Web浏览器控件的textarea中获取文本值#

var element1 = webBrowser1.Document.GetElementsByTagName("textarea"); 
    foreach (HtmlElement el in element1) { 
    //GET THE TEXT 
    } 

编辑:<textarea name="message"></textarea>

我怎么会得到价值?

+0

你能不能指定名称/标识来简化这个过程?编辑:为什么你不能指定名称/编号? – AGoodDisplayName 2013-04-23 17:40:25

+0

你有没有检查el.InnerHTML属性? – Damith 2013-04-23 17:44:23

+0

@AGoodDisplayName name =“message” 我将如何获取文本? – user1999321 2013-04-23 17:51:47

回答

1

您可以使用此

varelement1= Request.Form["textarea"] 
+1

这只会在textarea具有NAME属性时起作用 – 2013-04-23 17:27:32

1

这不能做到完全使用LINQ,但你可以有这样的

static class ControlExtension 
    { 
     public static IEnumerable<Control> GetAllControls(this Control parent) 
     { 
      foreach (Control control in parent.Controls) 
      { 
       yield return control; 
       foreach (Control descendant in control.GetAllControls()) 
       { 
        yield return descendant; 
       } 
      } 
     } 
    } 

定义的扩展,并呼吁

var list = this.GetAllControls().OfType<TextArea>().ToList(); 
相关问题