Oppure

Loading
13/03/11 14:26
Best
Salve a tutti,
stavo seguendo la guida sul vb.net scritta da Totem (totemslair.org/guide/…). Tutto bene, riesco a loggarmi al mio sito web.
Ma ho riscontrato qualche problema. Premetto che per il login ho usato 2 textbox (una per l'username e una per la password, evitando così di inserire i dati nel codice sorgente). Se inserisco correttemente i dati accedo al mio sito normalmente, se provo ad inserire in modo errato i dati, ovviamente, mi dà l'errore dei dati sul sito. A questo punto, reinserisco i dati correttamente e mi da errore di gestione di KeyNotFoundException. Come risolvo?
Un' altra domanda, è possibile visualizzare direttamente sul programma che sto scrivendo se ho effettuato correttamente il login al sito?

Capisco che le domande sono piuttosto confusionali, ma ho difficolta nel spiegarmi, per altri chiarimenti chiedete pure, cercherò di spiegarmi meglio.
Grazie in anticipo.

Edit

Allora Totem,
questo è il source del programmino

Class Form1
    Dim LoginInfo As New Dictionary(Of String, Dictionary(Of String, String)) 
    Dim TInfo As New Dictionary(Of String, String)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoginInfo.Add("http://linuxlabs.altervista.org/index.php?option=com_content&view=frontpage&Itemid=1", TInfo)
    End Sub

    Private Sub btnAction_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAction.Click
        Dim Info As Dictionary(Of String, String) = LoginInfo(wbBrowser.Url.ToString())
        With TInfo
            .Add("form-login", "login")
            .Add("form-login-username", "username")
            .Add("form-login-password", "passwd")
            .Add("username", TextBox1.Text) ' 
            .Add("passwd", TextBox2.Text) '
        End With
        With wbBrowser.Document
            .GetElementById(Info("form-login-username")).SetAttribute("value", Info("username"))
            .GetElementById(Info("form-login-password")).SetAttribute("value", Info("passwd"))
            .GetElementById("Submit").InvokeMember("click")
        End With
    End Sub
End Class


come vedi non è cambiato molto dalla tua guida apparte le 2 textbox aggiuntive e l'evento click sul button di login. L'eccezione viene generata esattamente nella dichiarazione dell'oggetto Info ("la chiave specificata non era presente nel dizionario";).

Questo è il codice relativo al form di login del mio sito web:

<h3>Login</h3>
											<form action="/index.php" method="post" name="login" id="form-login" >

		<fieldset class="input">
	<p id="form-login-username">
		<label for="modlgn_username">Nome utente</label><br />
		<input id="modlgn_username" type="text" name="username" class="inputbox" alt="username" size="18" />
	</p>
	<p id="form-login-password">
		<label for="modlgn_passwd">Password</label><br />
		<input id="modlgn_passwd" type="password" name="passwd" class="inputbox" size="18" alt="password" />

	</p>
		<p id="form-login-remember">
		<label for="modlgn_remember">Ricordami</label>
		<input id="modlgn_remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="Remember Me" />
	</p>
		<input type="submit" name="Submit" class="button" value="Login" />
	</fieldset>
	<ul>

		<li>
			<a href="/index.php?option=com_user&amp;view=reset">
			Password dimenticata?</a>
		</li>
		<li>
			<a href="/index.php?option=com_user&amp;view=remind">
			Nome utente dimenticato?</a>
		</li>

				<li>
			<a href="/index.php?option=com_user&amp;view=register">
				Registrati</a>
Ultima modifica effettuata da Best 14/03/11 21:01
aaa
14/03/11 17:40
Il Totem
1) L'eccezione dove viene generata? Ci sono due dizionari e una funzione con un compito simile; è ambiguo.
2) Sì. Parsa il codice della pagina.
aaa