无法从代码隐藏中访问我的类。类是App_Code文件夹

时间:2011-02-15 16:57:04

标签: vb.net class code-behind

我有一个非常简单的类,位于我的VS2008 Web应用程序项目的App_Code文件夹中。我试图从我的代码隐藏文件中实例化此类的实例。 Intellisense似乎没有看到我的课,我不知道为什么。我使用的是VB.NET,与C#相比,我认为它并不熟悉。也许我错过了一些东西。我敢打赌它与我在VB.NET中缺少的东西有关。

这是我的简单类(用于测试):

Public Class mySimpleClass

   'Private member variables whose data is obtained from user input
    Private mUserID as String

   'Class Properties
    Public Property UserID() as Integer
       Get
          Return mUserID
       End Get

       Set(ByVal Value as Integer)
          mUserID = Value
       End Set
    End Property

    'Class Methods
    Public Function DisplayUserID() as String
       Return this.UserID
    End Function

End Class

以下是我尝试从代码隐藏中实例化它的方法......

Partial Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim obj As New mySimpleClass()
    End Sub

End Class

5 个答案:

答案 0 :(得分:12)

我最终做的是删除我的App_Code文件夹并创建一个新的“AppCode”文件夹。我还为类文件选择了属性,并将Build Action属性设置为“Compile”。一旦我这样做并重新编译了我的课程出现的项目。

答案 1 :(得分:1)

  1. 您应该将Return this.UserID更改为Return Me.UserID(VB.Net; - ))
  2. 重建解决方案并查看其是否有效
  3. 我一般不熟悉app_code文件夹和网站,我总是使用WebApplications。我建议convert it to a WebApplication,这里有进一步的信息:ASP.NET Web Site or ASP.NET Web Application?

答案 2 :(得分:1)

实际上,我认为如果你为你的项目添加命名空间,它也应该工作。我似乎记得在C#asp.net中经常遇到这个问题。我可能错了[/ p>

答案 3 :(得分:0)

同意Gustyn(有点)。 添加“using namespace;”

后面的网络表单代码

戴夫

答案 4 :(得分:0)

转到“App_Code”文件夹中保存“public”类的每个文件,并将Build Action from Content设置为Compile就可以了。 它适用于Web应用程序类型的项目。 在将类文件设置为编译(无论它们在哪个文件夹中)之前,关于是使用模块(VB)还是命名空间或静态(C#)的所有内容都无济于事。