2012-04-10 54 views
-1

我有Web瀏覽器控件c#Win Forms。我無法從只讀輸入元素的值返回null「」從c#web瀏覽器的只讀輸入中獲取價值

請諮詢我的東西,我怎麼能得到文字在這裏面讀

它返回innerHml這隻元素:

"<LABEL>დასახელება ან სახელი, გვარი</LABEL> <INPUT id=ctl00_ContentPlaceHolder1_txtBuyerName class=inactive_input title=\"მაქსიმალური სიმბოლოების რაოდენობა 90\" name=ctl00$ContentPlaceHolder1$txtBuyerName readOnly value=\"ცოტნე მემანიშვილი\"> " 

我要得到這個"ცოტნე მემანიშვილი"

感謝

+1

向我們展示你試過已經什麼。 – 2012-04-10 15:45:08

+0

我試過這個:var _ServerCompanyNumber = webBrowser1.Document.GetElementById(「ctl00_ContentPlaceHolder1_txtBuyerName」); txtCompanyName.Text = _ServerCompanyNumber.InnerText; – 2012-04-10 15:46:35

+0

@Acid:這是兩行代碼。哪一個失敗? 「_ServerCompanyNumber」是你期望的結果嗎? – David 2012-04-10 15:48:47

回答

1

您是否嘗試過本作的文本輸入:

txtCompanyName.Text = txtBuyerName.Text; 

或這對於一個隱藏的輸入:

txtCompanyName.Text = txtBuyerName.Value; 
+0

它沒有.Text選項 – 2012-04-10 15:52:57

+0

您應該使用命名標準,因爲txt是指文本框。我編輯了我的答案。 – 2012-04-10 15:56:36

+0

@FrancisP:我認爲你誤解了問題的背景。沒有'txtBuyerName'作爲'TextBox'。他在胖客戶端應用程序上使用Web瀏覽器控件來訪問網頁。網頁在服務器端使用ASP.NET的事實對於其客戶端對呈現標記的使用而言並不重要。 – David 2012-04-10 16:01:33

1

您可以使用此,使用GetElementsByTagName返回HtmlElementCollection,然後採取的第一個孩子是這樣的:

HtmlElementCollection elmnt = browser.Document.GetElementById("ctl00_ContentPlaceHolder1_txtBuyerName").GetElementsByTagName("value"); 

txtCompanyName.Text = elmnt[0].InnerText;