C# ASP.NET继承

C# ASP.NET继承,c#,.net,asp.net,inheritance,C#,.net,Asp.net,Inheritance,我有两个项目是asp.NET2008网站 文件结构如下所示: P_Project P_Project/index.aspx.cs P_Project/App_Code/PageBase.cs P_Project/Q_Project/App_Code/PageBase.cs 在我的index.aspx页面中,我调用p_项目的PageBase.isPLoggedIn(),但如何从我的index.aspx.cs页面访问Q_项目的PageBase.isQLoggedIn()?如果它们是单独的web项

我有两个项目是asp.NET2008网站

文件结构如下所示:

P_Project
P_Project/index.aspx.cs
P_Project/App_Code/PageBase.cs

P_Project/Q_Project/App_Code/PageBase.cs

在我的index.aspx页面中,我调用p_项目的PageBase.isPLoggedIn(),但如何从我的index.aspx.cs页面访问Q_项目的PageBase.isQLoggedIn()?

如果它们是单独的web项目,除非在p_项目中有对Q_项目的引用,否则您将无法执行此操作(反之亦然)

这可能是个坏主意

相反,您应该有一个类库(可能p_项目和Q_项目各有一个),并在web项目中引用它们


然后,您可以通过Q_Project.PageBase.isQLoggedIn()引用它。

如果它们是单独的web项目,则除非您在p_项目中引用了Q_项目(反之亦然),否则您将无法执行此操作

这可能是个坏主意

相反,您应该有一个类库(可能p_项目和Q_项目各有一个),并在web项目中引用它们


然后您可以通过Q_Project.PageBase.isQLoggedIn()引用它。

1-您是否将Q_Project引用到了p_Project?如果没有,将Q_项目添加到P_项目作为参考

2-确保PageBase.isQLoggedIn()是公共方法


3-如果不创建PageBase类的实例,请确保PageBase.isQLoggedIn()是public和static方法。

1-是否将Q_项目引用到p_项目?如果没有,将Q_项目添加到P_项目作为参考

2-确保PageBase.isQLoggedIn()是公共方法


3-如果您不创建PageBase类的实例,请确保PageBase.isQLoggedIn()是公共的静态方法。

一个在p_项目命名空间中,另一个在Q_项目命名空间中。一个在p_项目命名空间中,另一个在Q_项目命名空间中。但它是否有效将在很大程度上取决于isQLoggedIn()的实现。如果使用ASP.NET附带的成员资格提供程序,则需要确保它们具有相同的应用程序名称,并编辑Web.config以确保两个应用程序可以解密彼此的身份验证令牌。例如,检查here(),但它是否有效将在很大程度上取决于isQLoggedIn()的实现。如果使用ASP.NET附带的成员资格提供程序,则需要确保它们具有相同的应用程序名称,并编辑Web.config以确保两个应用程序可以解密彼此的身份验证令牌。例如,检查这里()。