命名空间在类中找到,但在 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 中没有的主要内容,如果未能解决你的问题,请参考以下文章