在MVC 4.0中发送电子邮件时出现问题

时间:2013-12-29 19:27:43

标签: asp.net-mvc asp.net-mvc-4

我在MVC 4.0中创建了一个示例Empty网站

我在共享文件夹中创建了一个电子邮件文件夹,然后我添加了新的电子邮件模板(email.html.cshtml)

我使用了MailerBase。

当我尝试发送电子邮件时,我收到了运行时错误

'〜/ Views / Shared / Email / HomeEmail.html.cshtml'中的视图必须来自WebViewPage或WebViewPage。

要解决此问题:我在电子邮件模板顶部添加了以下代码

@inherits System.Web.Mvc.WebViewPage

同样的问题即将到来

2 个答案:

答案 0 :(得分:0)

当我创建Internet应用程序时,它开始工作。当我创建空应用程序时。这是行不通的。这是最新发现。

只要有人分享了这个问题的根本原因,我就会删除这个答案

谢谢

答案 1 :(得分:0)

创建空应用程序时 可能您忘记在视图文件夹中添加 web.config文件

<?xml version="1.0"?>

 <configuration>
 <configSections>
 <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
   <section name="pages"  type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>

<system.web.webPages.razor>
 <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
 <pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Optimization"/>
    <add namespace="System.Web.Routing" />
    <add namespace="...YourAppNameSpace..." />
   </namespaces>
 </pages>
 </system.web.webPages.razor>

 <appSettings>
  <add key="webpages:Enabled" value="false" />
 </appSettings>

 <system.webServer>
  <handlers>
  <remove name="BlockViewHandler"/>
  <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
  </handlers>
</system.webServer>
</configuration>