命名空间在类中找到,但在 aspx 中没有

Posted

技术标签:

【中文标题】命名空间在类中找到,但在 aspx 中没有【英文标题】:Namespace is found in class, but not in aspx 【发布时间】:2016-07-02 03:25:18 【问题描述】:

我在使用命名空间 System.Net.Http 时遇到问题。

我想使用,例如HttpClient,来自命名空间System.Net.Http。当我在 C# 类中使用 using System.Net.Http; 时,我可以很好地使用 HttpClient,但是当我尝试在 aspx 文件中导入命名空间时,如下所示:%@ Import Namespace="System.Net.Http" %> 它不会重新配置 HttpClient:

找不到类型或命名空间名称“HttpClient”(您是否缺少 using 指令或程序集引用?)

我已经像this 一样安装了它,并通过this 将其添加到我的参考资料中。

如何使用,例如HttpClient,在我的 .aspx 文件中就像我在 C# 类中使用它一样?

更新

这不是Why should i include the namespace in each aspx page? 的重复,因为我不是在问我应该如何在每个类中包含一个命名空间。

【问题讨论】:

***.com/questions/12425114/…的可能重复 @Thiru nope,这里有不同的问题。 因为 ASPX 页面是使用不同的“WebPage”编译器编译的。如果您想在 aspx 页面中使用命名空间,请将其添加到 web.config 文件中,请检查此链接 msdn.microsoft.com/en-us/library/ms164642(v=vs.80).aspx 【参考方案1】:

首先值得指出的是,您可能不应该这样做。您可能应该在 Page_Load 事件中准备好所需的数据,然后将其显示在 WebForms 页面上。如果你仍然想这样做,我很确定发生的事情是你有一个 System.Web.HttpClient 以外的依赖程序集。查看您的 CodeBehind 页面并确保所有导入都存在于 aspx 页面中,以便在 CodeBehind 中每次使用。换句话说:

System.Web.HttpClient 依赖于您未引用的另一个程序集。

【讨论】:

谢谢!我不知道 CodeBehind 究竟是如何工作的,但它非常简单 :) 它基本上是 .apsx 文件的类(对于那些不知道的人)

以上是关于命名空间在类中找到,但在 aspx 中没有的主要内容,如果未能解决你的问题,请参考以下文章

是否有可能在类中获得命名空间的功能?

类命名空间与对象实例的命名空间

类命名空间与对象实例的命名空间 and 面向对象的组合用法

python基础 13 类命名空间于对象实例的命名空间,组合方法

类命名空间与对象实例的命名空间和下面向对象的组合用法

面向对象进阶:命名空间和组合