![]() |
| ||
| Compilation Error Handles cmdLogin.ServerClick Compilation Error Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: BC30506: Handles clause requires a WithEvents variable. Source Error: Line 70: Line 71: Private Sub cmdLogin_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) _ Line 72: Handles cmdLogin.ServerClick Line 73: If Validateuser(txtUserName.Value,txtUserPass.Value) Then Line 74: Dim tkt As FormsAuthenticationTicket Code: <%@ Page Language="VB" %> <%@ import Namespace="System.Data" %> <%@ import Namespace="System.Data.SqlClient" %> <script runat="server"> Private Function ValidateUser(ByVal userName As String, ByVal passWord As String) As Boolean Dim conn As SqlConnection Dim cmd As SqlCommand Dim lookupPassword As String lookupPassword = Nothing ' Check for an invalid userName. ' userName must not be set to nothing and must be between one and 15 characters. If ((userName Is Nothing)) Then System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of userName failed.") Return False End If If ((userName.Length = 0) Or (userName.Length > 15)) Then System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of userName failed.") Return False End If ' Check for invalid passWord. ' passWord must not be set to nothing and must be between one and 25 characters. If (passWord Is Nothing) Then System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of passWord failed.") Return False End If If ((passWord.Length = 0) Or (passWord.Length > 25)) Then System.Diagnostics.Trace.WriteLine("[ValidateUser] Input validation of passWord failed.") Return False End If Try ' Consult with your SQL Server administrator for an appropriate connection ' string to use to connect to your local SQL Server. conn = New SqlConnection("server=(local);Integrated Security=SSPI;database=test") conn.Open() ' Create SqlCommand to select pwd field from the users table given a supplied userName. cmd = New SqlCommand("Select pwd from users where uname=@userName", conn) cmd.Parameters.Add("@userName", SqlDbType.VarChar, 25) cmd.Parameters("@userName").Value = userName ' Execute command and fetch pwd field into lookupPassword string. lookupPassword = cmd.ExecuteScalar() ' Cleanup command and connection objects. cmd.Dispose() conn.Dispose() Catch ex As Exception ' Add error handling here for debugging. ' This error message should not be sent back to the caller. System.Diagnostics.Trace.WriteLine("[ValidateUser] Exception " & ex.Message) End Try ' If no password found, return false. If (lookupPassword Is Nothing) Then ' You could write failed login attempts here to the event log for additional security. Return False End If ' Compare lookupPassword and input passWord by using a case-sensitive comparison. Return (String.Compare(lookupPassword, passWord, False) = 0) End Function Private Sub cmdLogin_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles cmdLogin.ServerClick If Validateuser(txtUserName.Value,txtUserPass.Value) Then Dim tkt As FormsAuthenticationTicket Dim cookiestr As String Dim ck As HttpCookie tkt = New FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now(), _ dateTime.Now.AddMinutes(30), chkPersistCookie.Checked, "your custom data") cookiestr = FormsAuthentication.Encrypt(tkt) ck = new HttpCookie(FormsAuthentication.FormsCookieName(), cookiestr) if (chkPersistCookie.Checked) then ck.Expires=tkt.Expiration ck.Path = FormsAuthentication.FormsCookiePath() Response.Cookies.Add(ck) Dim strRedirect As String strRedirect = Request("ReturnURL") If strRedirect <> "" Then Response.Redirect(strRedirect, True) Else strRedirect = "default.aspx" Response.Redirect(strRedirect, True) End If Else Response.Redirect("logon.aspx", True) End If End Sub </script> <html> <body> <form runat="server"> <h3> <font face="Verdana">Logon Page</font> </h3> <table> <tr> <td>Email:</td> <td><input id="txtUserName" type="text" runat="server"></td> <td><ASP:RequiredFieldValidator ControlToValidate="txtUserName" Display="Static" ErrorMessage="*" runat="server" ID="vUserName" /></td> </tr> <tr> <td>Password:</td> <td><input id="txtUserPass" type="password" runat="server"></td> <td><ASP:RequiredFieldValidator ControlToValidate="txtUserPass" Display="Static" ErrorMessage="*" runat="server" ID="vUserPass" /> </td> </tr> <tr> <td>Persistent Cookie:</td> <td><ASP:CheckBox id="chkPersistCookie" runat="server" autopostback="false" /></td> <td></td> </tr> </table> <input name="cmdLogin" type="submit" ID="cmdLogin" Value="Login" runat="server"> <p></p> <asp:Label id="lblMsg" ForeColor="red" Font-Name="Verdana" Font-Size="10" runat="server" /> </form> <h3> </h3> </body> </html> Thanks... |
| ||
| Re: Compilation Error Handles cmdLogin.ServerClick The code you are using I used that one a long time back and it gave me the same error.Then I changed the style of the code.. What I did was keep the Javascript separately(client end code) from the server side coding..I placed the server side coding in the code behind..(aspx.vb) and drag and dropped the controls like textbox and that automatically created my "Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox" and solved the issue.. It was a long time back and I remember I did something like this..My answer might not solve your issue but you can do something like this and be sure it works.. Hope it helps... |
| All times are GMT -4. The time now is 11:15 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC