Форма окна C# - Как получил данные значения тега в мое textbox1?
<input name="chkFile" value="2062223616_7147073260_1440589192619132.WMA" type="checkbox">
из этого кода я хочу только данные значения
Пример:
2062223616_7147073260_1440589192619132.WMA
ниже мой код не работает, поэтому, пожалуйста, помогите мне.
Мой код
HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
foreach (HtmlElement bEl in bColl)
{
if (bEl.GetAttribute("name").Equals("chkFile"))
showaudiourl.Text = bEl.OuterHtml.Split('"')[3];
}
2 ответа
Все, что вам нужно, это добавить фрагмент кода, сообщающий приложению, что нужно дождаться инициализации документа веб-браузера:
webBrowser2.Navigate(@"C:\tmp.html"); // Use your own URL here
while (webBrowser2.ReadyState != WebBrowserReadyState.Complete) // Without it,
Application.DoEvents(); // the document will be null
HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
foreach (HtmlElement bEl in bColl)
{
if (bEl.GetAttribute("name").Equals("chkFile"))
showaudiourl.Text = bEl.GetAttribute("value");
}
Значение должно быть доступно с помощью bEl.GetAttribute("value")
,
В качестве альтернативы, вы можете использовать webBrowser2_DocumentCompleted
событие для обработки документа HTML там.
Использование webBrowser2.GetAttribute("value")
чтобы получить значение, которое вы хотите.
HtmlElementCollection bColl = webBrowser2.Document.GetElementsByTagName("input");
foreach (HtmlElement bEl in bColl) {
if (bEl.GetAttribute("name").Equals("chkFile")) {
showaudiourl.Text = bEl.GetAttribute("value"); //Changes here
}
}