Visual Basic登录页面导致错误(错误BC30506 Handles子句需要WithEvents....) [英] Visual Basic Login page causing an error (Error BC30506 Handles clause requires a WithEvents....)

查看:115
本文介绍了Visual Basic登录页面导致错误(错误BC30506 Handles子句需要WithEvents....)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在asp.net网络表单上制作一个简单的mysql身份验证登录页面.
每次尝试运行页面时,我都会遇到相同的错误,但我不知道如何解决.这是错误:

I'm trying to make a simple mysql authentication login page on my asp.net webform.
I'm getting the same error every time I try to run my page and I have no idea how to solve it. Here is the error:

错误BC30506句柄子句需要在包含类型或其基本类型之一中定义的WithEvents变量.Test1 C:\ Users \ PC \ Desktop \ Test1 \ Account \ Login.aspx.vb 10有效

Error BC30506 Handles clause requires a WithEvents variable defined in the containing type or one of its base types. Test1 C:\Users\PC\Desktop\Test1\Account\Login.aspx.vb 10 Active

这是我的错误背后的代码:

Here is my code behind the error:

Protected Sub Login_Authenticate(sender As Object, e As AuthenticateEventArgs) Handles Login.Authenticate
    Dim Username As String = Login.UserName
    Dim password As String = Login.Password
    Dim SQLCommand As String = "SELECT level FROM users WHERE (username= '" &
                    Username & "' AND pw = '" & password & "')"
    Dim level As String
    Dim con As MySqlConnection = New MySqlConnection()
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("test").ToString()
    Dim cmd As MySqlCommand = New MySqlCommand(SQLCommand, con)
    con.Open()
    If cmd.ExecuteScalar() = Nothing Then
        level = ""
    Else
        level = cmd.ExecuteScalar().ToString()
    End If
    con.Close()
    If level = "B" Or level = "G" Then
        Session("Level") = level
        Session("User") = Username
        FormsAuthentication.RedirectFromLoginPage(Username, False)
    Else
        Login.FailureText = "Try Again"
    End If    
End Sub

我首先以为是因为我在 If cmd.ExecuteScalar()= Nothing Then

I first thought it was because I used = instead of 'Is' in If cmd.ExecuteScalar() = Nothing Then

但是更改它并不会真正影响它.

But changing it doesn't really affect it.

推荐答案

此代码BC30506:Handles子句需要在包含类型中定义的WithEvents变量

This code BC30506: Handles clause requires a WithEvents variable defined in the containing type

在页面指令中,您需要放置一个CodeFile ="Default.aspx.vb"

In your page directive you need to put a CodeFile="Default.aspx.vb"

例如

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 

这篇关于Visual Basic登录页面导致错误(错误BC30506 Handles子句需要WithEvents....)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆