1

我有一个现有的 asp.net C# Web 应用程序,我开始通过创建一个子文件夹“Mobile”并复制我将在移动区域提供的文件夹/文件来开发移动版本。我的东西在不同的风格和移动站点地图上运行良好。

例如,有许多页面将提供相同的业务流程,但在样式或母版页之外,两者之间的表示层可能会有一些细微的变化。我想在移动副本和桌面副本之间共享 Login.aspx 页面逻辑背后的代码。

我是使用asp.net 的新手,所以一个简单的例子会很好。我试图在另一个文件夹中创建一个共享类,但无法正确引用它并且编译时没有错误。

想法?

4

2 回答 2

0

至少将您的业务逻辑分离到 App_Code 文件夹中。但最好将其移动到自己的类库项目中。然后将您的网站/Web 应用程序项目中的引用添加到类库项目中。操作方法如下:在解决方案资源管理器中右键单击您的解决方案,转到添加 > 新项目。从此处将类库项目添加到解决方案。然后右键单击您的站点项目,单击添加引用,确保您在项目选项卡上,然后选择您之前创建的类库。您的业​​务逻辑放在类库项目中,您的特定于站点的逻辑放在网站项目中。您需要将 Using 语句添加到您的类或使用完整的命名空间语法来访问类库中的类。

在您的站点特定逻辑中,如果页面共享相同的页面特定逻辑,您可以让各个页面继承自一个公共基类。

 public partial class _Default : System.Web.UI.Page
 {
 //This is all the code behind logic for Default.aspx. This code is in Default.aspx.cs. Notice how it is inheriting from System.Web.UI.Page directly.
 }

改成这个……

 public class BasePage : System.Web.UI.Page
 {
 //code common to multiple pages goes here. This file (BasePage.cs) goes in your App_Code folder.
 }

和这个...

 public class _Default : BasePage
 {
 //Now your default page inherits from BasePage class, and therefore it indirectly inherits from System.Web.UI.Page.
 }

将 .cs 文件放入除 App_Code 之外的任何文件夹中可能不是一个好主意。代码隐藏文件(.aspx.cs 和 .aspx.vb)是例外。有关App_Code 和其他特殊文件夹的说明,请参见:http ://www.codeproject.com/Articles/31557/A-Beginner-s-Guide-to-ASP-NET-Application-Folders。

于 2013-06-04T04:41:18.533 回答
0

右键单击项目,然后Add ASP.NET Folder,添加“App_Code”文件夹并将类放在那里。之后,您应该能够在整个项目中访问该类

于 2013-06-04T02:02:50.307 回答