2012-11-28 4 views
1

J'ai un fichier Javascript qui a une variable globale qui a une valeur entière. Je charge le Javascript en C# en utilisant un contrôle WebBrowser. Je dois afficher la valeur de la variable globale dans une étiquette WinForms.Accéder à la variable javascript globale dans C# webbrowser

J'ai essayé de mettre la variable globale dans un champ html caché et d'appeler les éléments suivants du code C#:

var distance = mapWebBrowser.Document.GetElementsByTagName("input")["distance"]; 

     if (distance != null) 
      mileageText.Text = Convert.ToString(distance); 

Mais cette affiche le System.Windows.Forms.HtmlElement dans l'étiquette alors que je besoin de la valeur réelle stockée à l'intérieur.

Quelqu'un peut-il vous aider s'il vous plaît?

+0

Avez-vous essayé 'mileageText.Text = distance.InnerText'? –

+0

Cela ne semble rien afficher. – user1696698

+0

Avez-vous essayé 'element.value'? – EricG

Répondre

2

Est-ce que donner un identifiant au champ caché et l'appeler? mapWebBrowser.Document.GetElementById("distance").InnerHtml (où la distance est l'ID)

+0

Non, cela ne fonctionnerait pas comme caché les champs n'ont pas InnerHtml - des excuses. Que dis-tu de ça? 'mapWebBrowser.Document.GetElementById (" distance "). GetAttribute (" valeur ")' – levelnis

+0

Ceci me donne une erreur: 'La référence d'objet n'est pas définie sur une instance d'un objet.' – user1696698

+0

Pourriez-vous poster le code HTML du champ caché que vous stockez la valeur? L'ID peut être différent, surtout s'il a été généré du côté serveur. – levelnis