【问题标题】:C# ASP.net How to access new classes from code behind, not kept in APP_CODE, but kept in same folder as code behindC# ASP.net 如何从后面的代码访问新类,不保存在 APP_CODE 中,而是保存在与后面的代码相同的文件夹中
【发布时间】:2018-04-19 15:25:36
【问题描述】:

我想创建属于单独文件的类(不是他 aspx.cs 中的代码)文件,并且我不想将它们放在 APP_CODE 目录中。

我希望单独的类文件与主代码隐藏文件 (aspx.cs) 位于同一目录中。

每个类都会执行一个功能。

我可能不正确地使用这些类,如果我错了,请更正我的术语。

我想要的是让我的许多函数(方法)成为我的代码隐藏文件之外的文件中的代码,并简单地从代码隐藏文件中调用。我相信我通过创建类来做到这一点。对不起,如果我错了,我有点生疏了。

每个类(或任何被调用的类)都将根据其功能命名。

我对如何做到这一点非常无知,我真的需要一个教程。我找不到任何或任何其他答案可以完全解决我想做的事情。我相信这被称为“外层阶级”。 “内部类”写在另一个类中。

我知道如何编写类文件,只是不知道如何从文件 aspx.cs 后面的代码中访问它

【问题讨论】:

  • 是网站项目还是网络应用项目?
  • 网站项目

标签: c# asp.net code-behind outer-classes


【解决方案1】:

我认为文件路径并不重要,但您需要正确使用命名空间。如果您在项目的 TestProject.Pages 命名空间中定义了 Question 类,如下所示:

namespace TestProject.Pages
{
    public class Question
    {
    }
}

然后你将这一行添加到你的 aspx.cs 文件中,这样代码就可以看到你上面使用的命名空间:

using TestProject.Pages

您应该能够访问 Question 类。

【讨论】:

  • 好的,然后是另一个问题。查看文件后面的代码,没有名称空间声明。那么,一个程序是否需要一个工作。该程序确实有效,它是一个在 IIS 7 服务器上运行的网站。那么,如果我想访问我创建的类,是否只需要添加一个命名空间?
  • 它告诉我 using 语句是不必要的。
  • 如果两个文件中的代码在同一个命名空间中,则不需要using语句。如果不需要 using 语句,代码将在完全相同的事件中工作。
  • 我可能不知道如何在我的项目中使用或添加命名空间。如果这是真的,那么不确定是对 Visual Studio、C# 还是 asp.net 的无知。我尝试向所有文件添加命名空间语句,但仍然是同样的问题。我现在是移动设备,所以下次我可以将我的开发笔记本电脑连接到 WiFi 时,我将上传我如何尝试使用命名空间的示例。同时,有什么建议适用于需要让 Visual Studio 或我的项目真正使用命名空间的某些配置?
【解决方案2】:

很简单!

// 你可以访问不同文件夹中的类。通过提及类所在的文件夹,然后输入“。”然后是类名。

例如:

myfolder.myclass cls = new myfolder.myclass();

【讨论】:

  • 回答梅森关于项目类型的问题,我相信是网站项目。其实不知道有什么区别。但是猜测一下,Web 应用程序更像是使用 Web 浏览器作为其界面的 Intranet 程序。它不协商连接或握手。它只适用于计划。
  • 这是一个错字。我的意思是局域网。
  • @Mike 不,这是完全错误的。网站项目在部署之前没有编译成 DLL,并且没有 csproj 文件。 Web 应用程序项目被编译为 DLL 并具有一个 csproj 文件。它与握手或 Internet 与 LAN 无关。两者都可以通过网络浏览器访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多