gpt4 book ai didi

c# - 命名空间问题

转载 作者:行者123 更新时间:2023-12-02 14:52:48 25 4
gpt4 key购买 nike

通常我们都会使用using System.Linq;using System.Data.Linq;例如,在代码隐藏中,我们期望可以从源代码中访问这些命名空间的成员,如 <%= Something.First()%>但是当我写的时候,asp.net说找不到First()在上下文中,我必须添加 <%@ Import Namespace="System.Linq"这对我来说看起来很奇怪,但它成功了。由于它们针对同一类,因此它们都需要单独的命名空间导入。

代码隐藏:

using System;
using System.Data.Linq;
using System.Linq;
using System.Text

namespace Something
{
class Items : System.Web.UI
{
//...
}

}

但我还需要在 Html Source 部分添加相同的 Linq 命名空间

<%@Import Namespace="System.Linq"%>

我是否知道有什么问题或者这是 ASP.NET 中的某种错误?我想当页面编译时,asp.net结合这两个类并将html源代码转换为cs类并指示Control c= new Control();中的控件层次结构。

提前致谢。

P.s:我正在尝试联系例如 First()在 Items.aspx 以及我提到的有关 asp.net 页面的所有内容中,即 Items.aspx

最佳答案

您必须在这两个位置指定您的命名空间。这是正常行为。编译器需要这样做,以便在将 aspx 页面和代码隐藏页面合并到一个类并进行实际编译之前分别预编译它们。

默认情况下,aspx页面中已经包含了一些常见的命名空间,因此您不需要导入它们。但在你的情况下,你需要导入 Linq。

编辑:正如 Joel Coehoorn 所说,如果您不想在 aspx 页面中手动添加它们,您可以将它们添加到 Web.config 中的默认命名空间列表中。

关于c# - 命名空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com