2014-06-21 106 views
0

我有一個簡單的聯繫表單的應用程序。asp.net錯誤CS0103:名稱'WebMail'在當前上下文中不存在

的觀點發送郵件:

@{ 
    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

Afzaal的回答是接近的。但是,您的代碼示例和代碼使您看起來像使用剃鬚刀視圖。要向視圖添加名稱空間,請在視圖頂部使用@using System.Web.Helpers

或者,如果你要使用它在多個視圖,添加<namespaces>標籤下的以下到瀏覽文件夾中的web.config文件:

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

定義@using System.Web.Helpers和views中的web.config中的命名空間有 – BrunoRamalho

+0

@bramalho您是否缺少程序集引用?在解決方案資源管理器中,在您的項目的引用下,那裏是「System.Web.Helpers」? –

+0

是的。它丟失了,我手動將dll和xml從其他項目複製到bin文件夾。順便說一句,這是另一種方式來添加這個時候失蹤? – BrunoRamalho

0

使用此

using System.Web.Helpers; 
在你的代碼頁,您遇到其他 using語句,其中頂部

。在此之後,您的代碼將在文檔中有WebMail

只有將代碼包含在代碼directoy中後,才能使用對象和類。您可以直接引用作爲

System.Web.Helpers.WebMail.Send(); 

或者您可以使用此方法

using System.Web.Helpers; 
// then in the code 
WebMail.Send(); 

兩種途徑都可以使用的代碼。但是,不僅僅是通過參考。因爲單個名稱引用會強制編譯器尋找WebMail,並且項目中不會有這樣的類。

http://msdn.microsoft.com/en-us/library/system.web.helpers.webmail(v=vs.111).aspx

+0

我想這太 – BrunoRamalho

相關問題