【问题标题】:Accessing a namespace declared in a page code behind from another page ASP.net从另一个页面 ASP.net 访问在页面代码中声明的命名空间
【发布时间】:2015-05-15 18:01:24
【问题描述】:

我有页面说 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 后面的另一个页面代码中访问相同的命名空间?还是不允许?

【问题讨论】:

  • accessing the namespace 是什么意思?您的意思是该类中的任何特定方法?
  • @RahulSingh 没错.. 我的意思是该命名空间内的一些成员。

标签: asp.net vb.net


【解决方案1】:

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

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

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

还是不允许这样做?

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

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

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

我希望这能消除你的疑虑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-09
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    相关资源
    最近更新 更多