代码之家  ›  专栏  ›  技术社区  ›  user1620141

ASP.NET MVC ActionMailer电子邮件布局?

  •  1
  • user1620141  · 技术社区  · 11 年前

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

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

    邮件控制器

    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

    @model WelcomeVM
    {
        //Layout = "EmailLayout"
        Layout = null;
    }
    
    @*Email Contents Here*@
    
    1 回复  |  直到 11 年前
        1
  •  0
  •   Leniel Maccaferri    11 年前

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

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

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

    从…起 ActionMailer's doc page 在步骤2中,它提到可以使用Layouts:

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