从sql

时间:2017-11-09 16:03:02

标签: c# mysql

我希望C#检测我的邮件主体中的变量,并用我们方法中已有的每个值替换它们。 我将我的邮件保存在mysql中的TEXT数据类型中 这就是我保存到我的文本中的内容:

<html>
    <h1>
        <span style='text-decoration: underline;'>
            <strong>Solicitud</strong>
        </span>
    </h1>
    <br/>" + "<body>Blabla" + user.Nombre + " " + user.Apellido + " p<br/>La razón a que: <br />"+ razon+ ".</body>
</html>

我希望它替换user.Nombre user.Apellido和razon,它们是方法中已有的变量

例如,如果我的方法有:

  • user.Nombre =“MATT”;
  • user.Apellido =“CASA”;
  • razon =“为什么不呢?”;

然后检测我将拥有的变量:

    <html>
    <h1>
        <span style='text-decoration: underline;'>
            <strong>Solicitud</strong>
        </span>
    </h1>
    <br/>" + "<body>Blabla" + "MATT"+ " " + "CASA" + " p<br/>La razón a que: <br />"+ "Why not?"+ ".</body>
</html>

问题是让C#检测到字符串中已经包含变量。

2 个答案:

答案 0 :(得分:1)

如果我正确地理解了你的问题,那么你使用的英语就很难了。

您想要替换从数据库中检索的字符串的一部分吗?

您可以执行字符串替换,如下例所示。

string email = emailAsString.Replace("+ user.Nombre +", variable1);

如果您愿意,可以在此处详细了解。

String Replace - https://www.dotnetperls.com/replace

答案 1 :(得分:0)

在网上广泛搜索,有一种手动编译的方法,但它非常危险,所以我决定使用String.Format,我的邮件模板交换&#34; +变量+&#34 ;至 {#} Interpolating a string stored in a database

检索使用后: var formatedString = String.Format(string,variables);