我有一个页面说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后面的另一个页面代码中访问相同的命名空间?或者这是不允许的?
答案 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页面关联的实际类文件。
我希望这会清除你的怀疑。