Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378

    [VB.NET] WEBBROWSER e AJAX

    Ciao, sto cercando di automatizzare la compilazione di una pagina intenret usando il controllo webbrowser e ho un problema:

    Seleziono da una "SELECT" il produttore e una volta selezionato invoco un javascritp che fa una richiesta AJAX per recuperare tutti i modelli prodotti.
    Successivamente vado a leggere dall'html la "SELECT" che viene popolata con tutti i modelli.

    Il problema è che se interrompo ad esempio con un msgbox() fra invocazione del javascript e lettura della "SELECT" che viene popolata con tutti i modelli la cosa funziona e riesco a selezionare il modello, altrimenti se non interrompo e vado direttamente a leggere trovo che è vuota....

    qualcuno sa come posso fare per creare questa interruzione senza usare un msgbox ?!?!

    grazie!!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    nessuno ha qualche idea ???

  3. #3
    ECCO UN'ESEMPIO FATTO IN VB.NET:

    codice:
    With Browser.Document.GetElementsByTagName("input")
          .GetElementsByName("postazione").Item(0).InnerText = Postazione
          .GetElementsByName("username").Item(0).InnerText = UserName
          .GetElementsByName("pwd").Item(0).InnerText = PWD
    End With
    questo codice mette in tre textbox i valori contenuti nelle variabili che vedi... seguendo il mio esempio penso che non ti sarà difficile recuperare il valore da una select.
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    Ciao, leggere i valori di una SELCT lo so fare, il problema è che quella select viene popolata da una chiamata ajax!
    La cosa strana è che se dopo la chiamata ajax tento di leffere la SELECT la trovo vuota, mentre se seubito dopo la chiamata interrompo con ad esempio un msgbox("") e subito dopo leggo la select allora trovo i valoir..... questa cosa non me la so porprio spiegare....

    hai qualche idea ??

  5. #5
    la pagina è visibile all'utente??
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    si la pagina viene caricata correttamente nel webbrowser e subito dopo l'invocazione del javascript che la select viene popolata e aprendola a mano vedo tutti i valori, è da codice che mi da la select vuota se non interrompo con un msgbox().... questa cosa è molto strana....

  7. #7
    invece di un messagebox prova a far dormire il thread corrente per 10 secondi prima di andare a beccare il valore della select... oppure fai un doevents
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    ciao, avevo già provato con:

    codice:
    System.Threading.Thread.Sleep(2000)
    ma non funziona....

    cosa intendi per "oppure fai un doevents" ??

  9. #9
    siccome è possibile che mente esegui lo script Javascript il sistema stà eseguendo altre operazioni, bisognerebbe dirgli di finire tutto quello che stà eseguendo, quindi ti consiglierei di eseguire un bel Application.Doefvents prima di leggerti la select

    oppure fai eseguire lo script javascript da vb.net e aspetti la fine di tale script.. se non ricordo male c'è la possibilità di invocare una funzione javascript direttamrente da vb.net solo che non l'ho mai fatto.
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    378
    provato con "Application.Doefvents" ma purtroppo niente da fare nemmeno così....

    per quanto riguardo l'invocazione dello script ho fatto così:

    1) ho creato una varibile "Dim elemento As HtmlElement"

    2) in elemento c'è l'elemento html che rappresenta la SELECT da cui scielgo la marca

    3) faccio la selezione di una marca "elemento.SetAttribute("value", "000101 ")"

    4) a questo punto invoco il javascript "elemento.InvokeMember("onclick")"

    sai mica come fare per aspettare la fine dello script ??


    ...grazie ancora per l'aiuto !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.