将模型从正文传递到标题

问题描述

我有一个简单的问题:如何在LabSkeleton.cshtml中使用LabSimpleHTML.cshtml的@Model?当前在LabSkeleton.cshtml中,@ Model为NULL。

我想应该很容易,但是找不到一个明确的解决方案。

LabSkeleton.cshtml

@model AsbestosEmail.Models.EmailModelLabSkeleton

<p>Bonjour @Model.Name,je suis l'entête de l'email,</p>

@RenderSection("Body",required: true)

<p>Pied de page de l'email</p>

LabSimpleHTML.cshtml

@model AsbestosEmail.Models.EmailModelLabSimpleHTML

@{
    Layout = "LabSkeleton.cshtml";
}

@section Body
{
@Raw(@Model.Html)
}

模型:

public abstract class EmailModelLabSkeleton
    {
        public String Name { get; set; }
        public EmailModelLabSkeleton(String name)
        {
            Name = name;
        }
    }

public class EmailModelLabSimpleHTML: EmailModelLabSkeleton
    {
        public String Html { get; set; }
        public EmailModelLabSimpleHTML(String name,String html): base(name)
        {
            Html = html;
        }
    }

创建电子邮件代码

EmailModelLabSimpleHTML bodyHTML = new EmailModelLabSimpleHTML("Jonathan",@"<p>Test simple HTML</p>
                <table>
                    <tr><td>
                        Un tableau
                    </td></tr>
                </table>");
_body = _engine.Parse("LabSimpleHtml.cshtml",bodyHTML);

谢谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)