【问题标题】:Get dynamic model properties list for Razor template获取 Razor 模板的动态模型属性列表
【发布时间】:2012-10-27 23:00:21
【问题描述】:

我正在寻找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 en Product 属性)。

这可能吗?如果可以,我该怎么做?有替代品吗?

感谢您的宝贵时间!

【问题讨论】:

    标签: razor template-engine


    【解决方案1】:

    如果您对模型有足够的了解,知道它有一个客户和一个产品,那么您可能应该使用所有电子邮件项目都继承的基类:

    public class EmailItem
    {
        public string Customer {get;set;}
        public string Product {get;set;}
    }
    

    然后将其用作您的模型。

    那么你传入的item可以是这样的:

    public class Sale: EmailItem
    {
        // inherits EmailItem properties...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多