我在MVC 4.0中创建了一个示例Empty网站
我在共享文件夹中创建了一个电子邮件文件夹,然后我添加了新的电子邮件模板(email.html.cshtml)
我使用了MailerBase。
当我尝试发送电子邮件时,我收到了运行时错误
'〜/ Views / Shared / Email / HomeEmail.html.cshtml'中的视图必须来自WebViewPage或WebViewPage。
要解决此问题:我在电子邮件模板顶部添加了以下代码
@inherits System.Web.Mvc.WebViewPage
同样的问题即将到来
答案 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>