【问题标题】:Beginner for App_code folder importApp_code 文件夹导入初学者
【发布时间】:2012-05-15 14:59:21
【问题描述】:

我正在做 C# 教程,但遇到此错误无法继续,我已在 App_Code 文件夹下设置了 Product 类,但不知何故没有加载或导入它。知道为什么吗?

“/Beginning ASP.NET 4”应用程序中的服务器错误。 编译错误

描述:在编译服务此请求所需的资源期间发生错误。请查看以下具体错误详情并适当修改您的源代码。

编译器错误消息:CS0246:找不到类型或命名空间名称“Product”(您是否缺少 using 指令或程序集引用?)**

源文件:c:\Documents and Settings\Desktop\Books\Beginning ASP.NET 4\Chapter03\Website\Default.aspx 行:8

来源错误:

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
    private void Page_Load(object sender, EventArgs e)
    {
        Product saleProduct = new Product("Kitchen Garbage", 49.99M, "garbage.jpg");
        Response.Write(saleProduct.GetHtml());
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Product Test</title>
</head>
<body></body>
</html>

【问题讨论】:

  • 您是否导入了命名空间? using TheNameSpaceHere
  • 正如 Shyju 所提到的,您将不得不向我们展示错误消息,如果问题出在此处,可能还需要向我们展示 Product 类 instation 和 GetHTML 方法的一部分。
  • 抱歉我忘记复制粘贴错误信息了。
  • 尝试: 请参阅:msdn.microsoft.com/en-us/library/eb44kack.aspx 只是提示 --- 您可以将 C# 放在单独的文件中,而不是放在 .aspx 页面中。就个人而言,这使它更容易管理。
  • 不要将代码放入标记中。放入code-behind 文件!

标签: c# asp.net .net app-code


【解决方案1】:

尝试使用

Product saleProduct = new Product("Kitchen Garbage", "49.99M", "garbage.jpg");

为 49.99M 加上双引号

【讨论】:

  • 如果该类需要小数,那么没有引号是正确的。有一个带 M 的字符串真的没有意义。
【解决方案2】:

试试这个 App_Code/Product.cs

public class Product
{
    public Product()
    {
        //
        // TODO: Add constructor logic here
        //
    }

    public string ProductName { get; set; }
    public string Property2 { get; set; }
    public string Image { get; set; }

    public Product(string _ProductName, string _Property2, string _Image)
    {
        this.ProductName = _ProductName;
        this.Property2 = _Property2;
        this.Image = _Image;
    }

    public string GetHtml
    {
        get
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<table>");
            sb.Append(string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>", this.ProductName, this.Property2, this.Image));
            sb.Append("<table>");
            return sb.ToString();

        }

    }


}

这是来自 Default.aspx.cs 文件的代码。

 protected void Page_Load(object sender, EventArgs e)
{

    Product saleProduct = new Product("Kitchen Garbage", "49.99M", "garbage.jpg");
    Response.Write(saleProduct.GetHtml);
}

【讨论】:

  • 仍然出现同样的错误:...我一定做错了,代码找不到产品类描述:编译服务此请求所需的资源时出错.请查看以下特定错误详细信息并适当修改您的源代码。编译器错误消息:CS0246:找不到类型或命名空间名称“产品”(您是否缺少 using 指令或程序集引用?)
  • 您的 Product 类的命名空间是什么?任何想要使用 Product 类的代码都必须要么 A) 在同一个命名空间中,要么 B) 引用命名空间。因此,如果您的 Product 类位于 Some.Random.Stuff 命名空间中,您想要调用 Product 类的代码将需要编写“使用 Some.Random.Stuff;”在顶部。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 1970-01-01
  • 1970-01-01
  • 2018-11-06
  • 1970-01-01
  • 2011-07-02
相关资源
最近更新 更多