【发布时间】:2011-07-20 16:57:35
【问题描述】:
我有一个具有以下结构的视觉工作室网站解决方案
根文件夹中有一个名为 Default.aspx 的页面
还有一个名为 App_Code 的文件夹,我在其中添加了一个名为 Test2.vb 的类
我想知道如何在 Default.aspx.vb 中调用我的类 Tes2.vb 中的方法
我试过了
Dim test1 As New Test2(这不起作用) 将 test3 调暗为新 United_Site.Test2(添加站点名称也不起作用)
我的 Test2 类代码
Public Class Test2
Public Function ReplaceXSS(ByVal InputString As String) As String
InputString = InputString.Replace("<script>", "")
InputString = HttpUtility.HtmlEncode(InputString)
InputString = InputString.Replace("</script>", "")
InputString = InputString.Replace("&", "&")
InputString = InputString.Replace("<", "<")
InputString = InputString.Replace(">", ">")
InputString = InputString.Replace("%", "%")
InputString = InputString.Replace("|", "|")
InputString = InputString.Replace("$", "$")
InputString = InputString.Replace("'", "'")
InputString = InputString.Replace("""", "\")
ReplaceXSS = InputString
End Function
结束类
还有我的 default.aspx 代码
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 test As New Class1 ' Make an object of that class
Dim test2 As New Spurs ' Make an object of that class
Dim test3 As New Test2 <--- Error
End Sub
结束类
好吧,我注意到的另一件事是,如果我创建一个全新的文件夹和一个新类,我可以称之为没有问题,即 Dim test3 As New Test5 和 test5 类位于名为“Classes”的文件夹中。问题似乎是我原来的名为 App_Code 的文件夹类,我相信它是一个 .NET 文件夹,与其他文件夹相比是灰色的,我还从另一个站点复制了这个文件夹。
【问题讨论】:
-
Test2 和 Default 有不同的命名空间吗?
-
嘿,蒂姆,感谢您回复这是我想要理解的内容,即命名空间您能解释一下这个问题的意思吗?这两个文件都是在同一个 Visual Studio 项目中创建的
-
Visual Studio 默认将项目名称分配为命名空间(除非您在项目属性或代码中覆盖)。我已经很久没有做过网站项目了,但我会查看 Default.aspx 和 Test2.vb 的代码,看看命名空间是什么。我在想(默认情况下)它们应该是相同的,但如果不是,那可能就是问题所在。
-
嘿,看看页面属性,我看不出如何在 Visual Studio 中找出每个文件的命名空间是什么?
-
查看源代码 - 如果您有命名空间,它将位于文件顶部附近,在类之前。请参阅@Aristos 答案。
标签: asp.net visual-studio