c# - 命名空间问题

标签 c# asp.net namespaces

通常我们都会使用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/

相关文章:

c# - 如何为自定义控件设置命名空间

c# - mscorlib 4.x 和 mscorlib 2.x 之间的 MSBuild 冲突

c# - 获取存储在存储二进制数据的数据列中的字节长度

c# - 我试图从我的 xamarin 项目的 azure 数据库取回数据

asp.net - hotcake commerce 自定义付款方式不起作用

php - PHP 类的版本控制

c# - 动态添加多个按钮到 wpf 窗口?

asp.net - 我可以将 Entity Framework 与 ASP.NET 成员资格一起使用吗?

c# - runat ="server"不工作?

namespaces - kubernetes - 动态更改 RC 的命名空间