asp.net文件系统网站中的类模块

时间:2012-09-07 19:06:14

标签: asp.net

我的App_code文件夹中有一个类模块。

Private _connection As MySqlConnection
Private _connStr As String

Public Function Connect(dbName As String) As Boolean
    Try
        _connStr = "Database=" & dbName & ";" & _
                "Data Source=192.16.0.1;" & _
                "User Id=user;Password=pass"
        _connection = New MySqlConnection(_connStr)
        _connection.Open()
        _connection.Close()
        Return True
    Catch ex As Exception
        _connection = Nothing
        Return False
    End Try
    Return False
End Function

我通常在webform应用程序中编程。为什么我不能从页面后面的aspx代码访问此函数?我为该类添加了import语句。如果我使该功能共享,我不能拥有那些私有变量。

我在我的aspx中调用该函数,所以;

If Connect(dbName) then....

这给我一个错误“非共享成员需要一个对象引用”

2 个答案:

答案 0 :(得分:1)

您需要在方法签名中添加关键字“共享”,如下所示:

Private Shared _connection As MySqlConnection
Private Shared _connStr As String
Public Shared Function Connect(dbName As String) As Boolean

这是因为否则你有实例类成员,而不是静态成员。编译器错误消息非常明显。

答案 1 :(得分:1)

如果你看这个例子有效:

   Public Shared Function example123(ByVal USER As Integer, ByVal Section As String,   ByVal ACTION As String) As Boolean

您指定了一个功能共享,以便您可以从课程外部看到它

我希望你工作