2010-11-12 34 views
0

我想为单个aspx文件创建两个部分类。我正在使用vs2005 dotnet 2.0。我无法从另一个部分类中的一个部分类访问方法。asp.net部分类

任何人都可以帮助我。

部分类1:我的主aspx页面

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) { } 
    private void meth() { } 

} 

部分类:2

public class _Default : System.Web.UI.Page 
{ 
    public _Default() { } 
} 

我无法访问甲基方法在部分类2

+1

你可以请在这里发布类定义吗? – 2010-11-12 07:26:04

+1

确保你的两个类都有'同名'和'部分'修饰符并扩展'System.Web.UI.Page' – 2010-11-12 07:27:05

+0

我有同样的东西,你说的是......但仍然没有解决。 部分类1:我的主要aspx页 公共部分类_Default:System.Web.UI。页 { 保护无效的Page_Load(对象发件人,EventArgs的) { } 私人无效甲基() { } } 偏类:2 公共类_Default:System.Web.UI程序。第 { \t公共_Default() \t { \t \t \t } } 我无法访问partial class 2中的meth方法。 – muthukumarm 2010-11-12 07:32:08

回答

3

您应该使用局部修改两个类声明,如下所示:

// Default.aspx.cs 
public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) { } 
    private void meth() { } 
} 

// Default_Part2.aspx.cs 
public partial class _Default : System.Web.UI.Page 
{ 
    public _Default() 
    { 
     meth(); 
    } 
} 

在VS 2005中,可能还需要更新aspx文件的依赖,在这里找到:

http://aspnetresources.com/blog/partial_class_files_in_vs2k5

在短路,开路项目文件用纯文本编辑器,并查找:

<Compile Include="Default_Part2.aspx.cs"> 
    <SubType>ASPXCodeBehind</SubType> 
</Compile> 

添加您的文件中像这样:

<Compile Include="Default_Part2.aspx.cs"> 
    <SubType>ASPXCodeBehind</SubType> 
    <DependentUpon>Default.aspx</DependentUpon> 
</Compile> 

我不知道这是否会工作,因为我没有VS 2005年进行测试。希望它可以帮助,但...

+0

我错过了评论中的部分修饰符。但我使用的是上面显示的相同的代码。它是抛出编译时错误说Meth()在当前上下文中不存在。 更多我可以访问System.Web.UI.Page继承在第二类。我的第二堂课是可用的.cs文件。 请帮忙... – muthukumarm 2010-11-12 08:29:28

+0

你可以发布两个文件的代码吗?只是相关的部分,介意你... – 2010-11-12 08:39:39

+0

在上面发布的第二类声明中,你错过了“部分”修饰符。你是否也错过了你的代码,或者只是在你的文章? – 2010-11-12 08:47:50

2

你的第二类不没有partial修饰符。

您需要:

public partial class _Default : System.Web.UI.Page 
{ 
    public _Default() { } 
} 
1

* 事关于分部类: - *

所有部分定义必须继续进行关键词是“部分”。 所有不同类型的部件必须在相同的部件和模块中定义。 方法签名(返回类型,方法名称和参数)对于聚合类型(部分定义)必须是唯一的。 部分类型必须具有相同的可访问性。 如果任何部件被密封,整个班级都被密封。 如果任何部分是抽象的,整个类是抽象的。 任何部分类型的继承都适用于整个类。