【发布时间】:2010-03-03 08:18:15
【问题描述】:
我在 aspx 文件中添加了 C# 代码,但它显示错误
类中不存在类型或命名空间名称“Mail”或 命名空间“System.Net”(您是否缺少程序集引用?)
我如何将nampespace添加到我尝试过<%@ import namespace="Westwind.Tools"%>但它不起作用的aspx文件?
【问题讨论】:
标签: asp.net
我在 aspx 文件中添加了 C# 代码,但它显示错误
类中不存在类型或命名空间名称“Mail”或 命名空间“System.Net”(您是否缺少程序集引用?)
我如何将nampespace添加到我尝试过<%@ import namespace="Westwind.Tools"%>但它不起作用的aspx文件?
【问题讨论】:
标签: asp.net
<%@ Import Namespace="System.Net.Mail" %>
【讨论】:
我假设它在一个网站中并且该页面没有隐藏代码?
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net.Mail"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
System.Net.Mail.SmtpClient client = new SmtpClient();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
</body>
</html>
这似乎对我有用。
如果它不在网站中和/或它背后有代码,为什么需要在 aspx 文件中引用命名空间?
希望对你有帮助
【讨论】:
要全局添加命名空间而不是逐页添加,只需将命名空间放在 web.config 中即可。
<configuration>
<system.web>
<pages>
<namespaces>
<add namespace="Your.Namespace"/>
</namespaces>
</pages>
</system.web>
</configuration>
您可能需要重新启动 Visual Studio 才能启动 IntelliSense。
您还可以在目录中创建一个 mini web.config,仅将命名空间导入该目录和子目录中的 ASPX 文件,而不是全局应用它。
【讨论】: