从另一个页面ASP.net访问页面代码中声明的命名空间

时间:2015-05-15 05:28:41

标签: asp.net vb.net

我有一个页面说default.aspx,其中文件default.aspx.vb背后的代码包含其部分类和另一个名为mynamesspace的命名空间。所以default.aspx.vb文件就是这样的

Imports mynamespace

Partial Class Default2
    Inherits System.Web.UI.Page

End Class

Namespace mynamespace
    Public Class status
        Public id, score As Integer
        Public names As String
        Public Function checkscore() As Integer
            Return 1
        End Function
    End Class

End Namespace

但是如何在mypage.aspx后面的另一个页面代码中访问相同的命名空间?或者这是不允许的?

1 个答案:

答案 0 :(得分:0)

绝对可以做到这一点。由于代码隐藏文件只是一个类,因此从您的mypage.aspx代码隐藏文件中,您可以创建该类的实例并使用它: -

Dim cust As New Customer()
Dim result1 As Integer = cust.checkscore()

但我强烈建议您创建一个单独的类,而不是将它与类后面的代码混合。

  

或者这是不允许的?

正如我已经解释过的那样,这里有一些你可以记住的代码隐藏文件。由于它只是一个类,因此您可以在同一个namspace或另一个命名空间(如您已创建的)中的文件后面的代码中拥有任意数量的类。那么问题是哪个类实际上充当了类后面的代码?答案是在aspx页面的Page directive中: -

<%@ Page Language="VB" AutoEventWireup="true" CodeBehind="Default2.aspx.vb" 
    Inherits="mynamespace.Default2" %>

此处Codebehind属性向aSP.NET框架通知文件后面的代码,Inherits属性通知有关与aspx页面关联的实际类文件。

我希望这会清除你的怀疑。