App_code 文件夹导入初学者

Posted

技术标签:

【中文标题】App_code 文件夹导入初学者【英文标题】:Beginner for App_code folder import 【发布时间】: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 文件! 【参考方案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;”在顶部。

以上是关于App_code 文件夹导入初学者的主要内容,如果未能解决你的问题,请参考以下文章

我的网络中的“App_Code”文件夹无法正常工作

为啥没有正确找到我的 App_Code 文件夹中子文件夹中的类?

我们可以在控制台应用程序中有一个 app_code 文件夹吗?

ASP.NET 项目 App_Code下无法找到类

App_Code 文件夹,忽略编译错误?

网站和 App_Code 无法正常工作 (#C)