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);
    }

Welcome.html.cshtml

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

@*Email Contents Here*@
4

1 に答える 1

0

私はMvcMailer libに慣れています。ただし、次の方法でレイアウト ページを指定してみてください。

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

指定したパスにレイアウト ページが存在することを確認してください。

ステップ 2の ActionMailer のドキュメント ページから、レイアウトを使用できることが言及されています。

次に、このメールのビューを作成する必要があります。ビューは好きな ViewEngine を使用でき、マスター ページ (または Razor のレイアウト) でも機能します。ビューは、通常のビューと同じ場所に存在します。

于 2013-04-08T16:37:43.097 に答える