将2个参数添加到电子邮件模板正文

时间:2019-05-27 12:16:55

标签: c# html asp.net asp.net-mvc

我有一个电子邮件模板,并且已将1个参数绑定到此模板(this.OrderCode)并且可以正常工作。因此,现在我需要绑定另一个参数。

如下所示的电子邮件模板,

string OrderTemplate="<p><%=this.OrderCode%></p><p><%=this.ReferredTo%></p>";

tempValues comes like below,
[0]this.OrderCode
[1]ODR5000
[2]this.ReferredTo
[3]Janez Smithson

使用下面的代码我需要显示两个以上的值。在这里仅显示第一个值(ODR5000)

public string EmailTemplate(string OrderTemplate, params string[] tempValues)
        {
            string templatebody = string.Empty;
            try
            {
                templatebody = OrderTemplate;
                for (var i = 0; i < tempValues.Length; i++)
                {
                    templatebody= templatebody.Replace("<%={0}%>".FormatWith(tempValues[i]), tempValues++);
                }
            }
            catch (Exception ex)
            {
                throw ex;
                Log4NetLogger.Log(ex);
            }
            return templatebody;
        }

1 个答案:

答案 0 :(得分:0)

我有非常相似的功能。

for (int i = 0; i < tempValues.Length; i++)
{
    var pattern = string.Format(@"(\[{0}\])", i);
    templatebody = Regex.Replace(templatebody, pattern, tempValues[i].ToString());
}