1

使用 ActionMailer,是否可以为要使用的视图指定布局页面?如果是这样,布局页面应该是常规的 cshtml 视图还是也需要是 html.cshtml / txt.cshtml?

我已经注释掉了我尝试指定布局的一些行,但它不起作用。

邮件控制器

public EmailResult Welcome(User userInfo)
    {
        /*Create ViewModel*/
        To = "user@email.com";
        From = "test@email.com";
        Subject = "Welcome!";

        /*return Email("Welcome",welcomeVM,"EmailLayout",true);*/
        return Email("Welcome", welcomeVM);
    }

欢迎.html.cshtml

@model WelcomeVM
{
    //Layout = "EmailLayout"
    Layout = null;
}

@*Email Contents Here*@
4

1 回答 1

0

我习惯了MvcMailer库。但是,请尝试以这种方式指定布局页面:

@{
    Layout = "~/Views/Shared/MyLayout.cshtml";
}

只需确保布局页面存在于指定的路径中。

在步骤 2 中ActionMailer 的文档页面中,它提到可以使用 Layouts:

现在我们需要为这封电子邮件创建一个视图。该视图可以使用您喜欢的任何 ViewEngine,它甚至可以与母版页(或 Razor 中的布局)一起使用。这些视图位于您的正常视图所在的相同位置。

于 2013-04-08T16:37:43.097 回答