消息中没有正文(MvcMailer + Orchard CMS)

时间:2011-07-19 14:37:17

标签: mvcmailer

我在我创建的模块中使用MvcMailer和Orchard CMS,虽然我可以让它发送电子邮件,但电子邮件的正文是空的,这让我相信Orchard没有拿起“/ [Module] / Views / [NameOfMailerFolder / _Layout.cshtml“或”... / [NameofMailerView] .cshtml“。

起初我认为将“/ [Module] / Views / [NameOfMailerFolder]”移动到“/ [ThemeBeingUsed] / Views”文件夹或Orchard.Web的“/ Views”文件夹中可能会起作用(我以为它只是没有找到路径)。但没有运气。

我尝试在我的模块中使用route.cs,但我不知道我是否可以将CONTROLLER和ACTION留空(“”)并放入“/ [Module] / Views / [NameOfMailerFolder] “只在那里。无论如何,我为“[NameOfMailerView] .cshtml”创建了一条路线,但这条路线也没有用。我想知道这是否是正确的方法(我没有在控制器中设置操作,但我想这样做 - 只是要重定向?)。

我有点失落,所以我很感激任何指导。

1 个答案:

答案 0 :(得分:3)

事实证明,Mailer代码使用MasterName,这似乎会导致Orchard CMS的处理方式出现问题。

这就是它适用于我(使用1.3或Orchard.Web):

public QuoteMailers()
    : base()
{
    //LEAVE OUT FOLLOWING FOR MVC MAILER TO WORK
    //MasterName = "_Layout";
}

QuoteMailers只是我的名字,如果您在VS中使用Package Manger Console,MvcMailer将根据您使用的参数创建一个名称。

评论MasterName是有效的!这种“黑客”的唯一缺点是我不使用常见的_Layout文件。对我来说这没什么大不了的,因为我能够使用Partials。