ASP.Net - 用于网页的VB.Net自定义命名空间?

时间:2011-04-09 07:50:21

标签: asp.net vb.net

我希望能够在我的VB.net页面的代码隐藏中定义一些命名空间常量。

例如,

Namespace MyCompany
    Namespace Pages

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

            Public Const PAGE_NAME As String = "Default.aspx"

        End Class

    End Namespace
End Namespace

我希望能够像......一样执行代码。

Response.Redirect(MyCompany.Pages.Default.PAGE_NAME)

但是,第二页不会编译。编译器错误是“'Pages'不是'MyCompany'的成员”。

任何想法。我在C#中做过同样的事情没有问题,但VB.Net给了我适合。

提前致谢, 杰森

1 个答案:

答案 0 :(得分:1)

主要问题是您使用Default尝试使用_Default

这是你的代码

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="MyCompany.Pages._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>
</html>

vb文件代码

Namespace MyCompany
    Namespace Pages
        Partial Class _Default
            Inherits System.Web.UI.Page

        End Class
    End Namespace
End Namespace

第二档

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="MyCompany.Pages.Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%  Response.Redirect(MyCompany.Pages.Default2.PAGE_NAME)%>
    </div>
    </form>
</body>
</html>

第二个文件的代码

Namespace MyCompany
    Namespace Pages
        Partial Class Default2
            Inherits System.Web.UI.Page
            Public Const PAGE_NAME As String = "Default.aspx"
        End Class
    End Namespace
End Namespace