我正在研究RazorEngine的电子邮件模板系统。
系统会有很多不同的电子邮件模板,因此我不想为每个模板创建一个类型模型。
是否有可能使用动态模型并检索动态模型应具有的所有属性的列表?
例如:
查看/模板
@model dynamic
Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum @Model.Customer Lorem ipsum Lorem ipsum
Lorem ipsum Lorem ipsum Lorem ipsum @Model.Product Lorem ipsum Lorem ipsum Lorem ipsum
从该视图/模板中我希望能够检索以下列表(在调用Razor.Parse之前):
客户
产品
使用该列表,我将能够创建可用于调用Razor.Parse的动态模型(包含Customer zh_cn属性)。
这可能吗?如果可以,我该怎么做?还有其他选择吗?
谢谢你的时间!
答案 0 :(得分:0)
如果您对模型有足够的了解,知道它有客户和产品,那么您可能应该使用所有电子邮件项目继承的基类:
public class EmailItem
{
public string Customer {get;set;}
public string Product {get;set;}
}
然后将其用作模型。
然后你传入的项目就像这样:
public class Sale: EmailItem
{
// inherits EmailItem properties...
}