【问题标题】:Creating a custom class and using it in ASPX code behind file创建自定义类并在文件后面的 ASPX 代码中使用它
【发布时间】:2017-02-21 04:19:55
【问题描述】:

我从 Internet 下载了一个示例 website 应用程序,该应用程序是使用旧版 ASP.NET 2.0 WebForms 构建的。此应用程序有一个名为 clsTest 的自定义类。在页面 Test.aspx.cs 后面的代码中,此类声明为:

public clsTest myTest;

但是当我编译应用程序时,我在上述声明中收到以下错误:The type or namespace name 'clsTest' could not be found (are you missing a using directive or an assembly reference?)

Test.aspx.cs 页面背后的代码快照

using System;
using System.Web.UI;
using myNameSpace;

namespace myNameSpace
{
    public partial class Test : Page
    {
        public int TotalMethods;

        public bool bVal;

        public clsTest myTest;

        protected void Page_Load(object sender, EventArgs e)
        {
          ....
        }
      ....
      ....
    }
}

问题:即使我在声明clsTest 的代码隐藏页面顶部声明using myNameSpace;,我仍然会收到上述错误。为什么?以下是 clsTest 类的快照:

namespace myNameSpace
{
    public class clsTest
    {
        public bool Errors;

        public string FirstName;
        public bool FirstNameErr;

        public string LastName;
        public bool LastNameErr;
     }
}

更新

以下是我从 Internet 下载的实际遗留 ASP.NET 网站项目的屏幕截图。在这个实际的应用程序中,有问题的类是CCProcessor。正如您在下面的屏幕截图中看到的,CCProcessor.cs 文件位于项目的根文件夹中,我在顶部声明了 using ... 语句,但屏幕截图中的工具提示仍在抱怨缺少指令或程序集.为什么?另一个类 PaymentSettings 也存在相同的错误,该类也存在于项目的根文件夹中。 注意:要清楚地看到图片,您可能需要单击它以在整个浏览器中查看。

【问题讨论】:

  • 您是否尝试过将类定义放在与 Test 类相同的 .cs 文件中?
  • 您已将您的类命名为 cslTest 但将其引用为 clsTest
  • @CodingDawg 我已经纠正了错字。但问题依然存在。
  • @nam 我的回答解决了你的问题吗?
  • @CodingDawg 您是否知道如何确定clsTest 是否在不同的程序集或项目中?可能是这种情况,但我无法找到该课程所在的程序集?由于它是一个遗留的 ASP.NET website 项目,它也没有 Reference 文件夹,我可以在其中搜索程序集。并且 Visual Studio 解决方案中没有其他项目。

标签: c# asp.net webforms


【解决方案1】:

我认为您可能在不同的项目或程序集中拥有 clsTest 类,并且可能在您的 Web 项目中没有正确引用。

尝试将 clsTest 类放在同一个文件中,它应该可以工作。

using System;
using System.Web.UI;
using myNameSpace;

namespace myNameSpace
{
    public partial class Test : Page
    {
          public int TotalMethods;

          public bool bVal;

         public clsTest myTest;

          protected void Page_Load(object sender, EventArgs e)
         {
            ....
         }
       ....
      ....
    }

    public class clsTest
    {
        public bool Errors;

        public string FirstName;
        public bool FirstNameErr;

        public string LastName;
        public bool LastNameErr;
     }
}

【讨论】:

    【解决方案2】:

    将类 .cs 文件放在 App_Code 文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多