Asp.net mvc asp.net错误CS0103:名称';网络邮件';在当前上下文中不存在

Asp.net mvc asp.net错误CS0103:名称';网络邮件';在当前上下文中不存在,asp.net-mvc,razor,Asp.net Mvc,Razor,我有一份带有简单联系方式的申请表 要发送电子邮件的视图: @{ try { WebMail.SmtpServer = ""; WebMail.SmtpPort = 587; WebMail.UserName = ""; WebMail.Password = ""; WebMail.From = ""; WebMail.Send("", "New contact",

我有一份带有简单联系方式的申请表

要发送电子邮件的视图:

@{
    try
    {
        WebMail.SmtpServer = "";
        WebMail.SmtpPort = 587;
        WebMail.UserName = "";
        WebMail.Password = "";
        WebMail.From = "";

        WebMail.Send("", "New contact",
            Model.Name + " <br> " + Model.Email + " <br> " + Model.Message);
    }
    catch (Exception)
    {
        @:<div class="alert alert-danger">Sorry! We couldn't send the email to confirm you RSVP.</div>
    }
}
如何修复此错误

我在其他项目中有相同的代码,它可以工作。我缺少什么?

用这个

using System.Web.Helpers;
在代码页的顶部,您可以看到其他使用语句的。在此之后,您的代码将在文档中包含
WebMail

只有在将对象和类包含在代码目录中时,才能使用它们。您可以直接引用as

System.Web.Helpers.WebMail.Send();
或者你可以用这个方法

using System.Web.Helpers;
// then in the code 
WebMail.Send();
这两种方法都可以使用代码。但是,不仅仅是通过引用。因为单个名称引用将强制编译器查找
WebMail
,而您的项目中不会有这样的类


阿法扎尔的答案很接近。但是您的代码示例和标记使您看起来像在使用razor视图。要向视图添加名称空间,请使用视图顶部的System.Web.Helpers

或者,如果要在多个视图上使用它,请将以下内容添加到
标记下的Views文件夹中的web.config文件中:

<add namespace="System.Web.Helpers" />


定义为@using System.Web.Helpers和视图中Web.config中的命名空间there@bramalho是否缺少程序集引用?在解决方案资源管理器中,在项目的引用下,是否有
System.Web.Helpers
?是。它丢失了,我手动将dll和xml从其他项目复制到bin文件夹。顺便说一句,还有另一种方法可以在信息缺失时添加此内容吗?@bramalho我不知道。因为任何程序集都可以向命名空间添加类,所以VisualStudio不知道您要查找的类可能位于哪个程序集中。当项目引用已经存在时,visual studio可以使用语句提出
<add namespace="System.Web.Helpers" />