在同一个工程里添加两个aspx页面,VS2005会自动生成Default1和Default2两个类,分别放置在Default1.aspx.cs和Default2.aspx.cs中。在vs2003中会自动置于namespace中,而vs2005里没有namespace,而且我也没有办法在Default2中引用Default1类,为什么?在winform编程里两个窗体的类是可以互相引用的,而在webform中,把Default1拖放到App_code目录下,就可以被Default2访问,C#语法中什么时候跟类文件所在目录扯上关系了?这是ASP.NET特性吗?我该如何理解去这种特性?请高人指点一下?谢谢
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="a.aspx.cs" Inherits="A.a" %><!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>a.asp.cs
using System;namespace A
{
public partial class a : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(B.b.s);
}
}
}b.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="b.aspx.cs" Inherits="B.b" %><!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
</form>
</body>
</html>b.aspx.csusing System;namespace B
{
public partial class b : System.Web.UI.Page
{
public static string s = "wjs"; protected void Page_Load(object sender, EventArgs e)
{ }
}
}
WEB目录版本那个添加的ASPX文件的CS中类是默认没有命名空间的,而是以partial形式出现
你把你的A.ASPX.CS和B.ASPX.CS中的命名空间去掉应该就可以直接引用了
在同一个工程里添加两个aspx页面,VS2005会自动生成Default1和Default2两个类,分别放置在Default1.aspx.cs和Default2.aspx.cs中。
———
Default1和Default2在不叫类么?
它们不在类视图显示出来,它们就不是类了吗?
VS2005刚出来是没有 Web Application Projects的,只是默认的先建一个文件夹算是一个网站,即不是Web Application Projects
虽然编译时引用类的智能感知不出来,但运时是没问题的。
虽然编译时引用类的智能感知不出来,但运时是没问题的。同意,我设了下断点,可以查出来.