2013-04-23 34 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(); 
相關問題