我有一个简单的联系表格的应用程序。
发送电子邮件的视图:
@{
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>
}
}
当我填写表单并发送时,显示此错误:
Compiler Error Message: CS0103: The name 'WebMail' does not exist in the current context
如何解决此错误?
我在其他项目中使用相同的代码并且它有效。我错过了什么?
答案 0 :(得分:0)
使用此
using System.Web.Helpers;
位于代码页的顶部,您正在使用其他using
语句。在此之后,您的代码将在文档中包含WebMail
。
只有在代码directoy中包含对象和类后,才能使用它们。您可以直接参考as
System.Web.Helpers.WebMail.Send();
或者您可以使用此方法
using System.Web.Helpers;
// then in the code
WebMail.Send();
两种方式都可以使用代码。但是,不只是通过引用。因为单个Name引用会强制编译器查找WebMail
,并且项目中不会有这样的Class。
http://msdn.microsoft.com/en-us/library/system.web.helpers.webmail(v=vs.111).aspx
答案 1 :(得分:0)
Afzaal的答案很接近。但是您的代码示例和标记使您看起来像是在使用剃刀视图。要向视图添加命名空间,请使用视图顶部的@using System.Web.Helpers
。
或者,如果您要在多个视图上使用它,请将以下内容添加到<namespaces>
标记下的Views文件夹中的web.config文件中:
<add namespace="System.Web.Helpers" />