【问题标题】:VB.net HTML {} placeholders replace with valuesVB.net HTML {} 占位符替换为值
【发布时间】:2015-12-10 15:07:27
【问题描述】:

大家好,我正在寻找一种方法以简单的方式将我的所有 {ZZZZZZ} 替换为我需要的任何东西。

以我的一些HTML为例:

Dim html As New StringBuilder("<table style=""border: none; width: 100%; font-size: 10px; 
                font-family: ""Helvetica Neue"", Helvetica, Arial, sans-serif;"">" & _
  "<tr>" & _
     "<td style=""width: 30%; text-align: right;"">Your Name:</td>" & _
        "<td style=""width: 70%; text-align: left;"">{CI_NAME}</td>" & _
     "</tr>" & _
     "<tr>" & _
        "<td style=""text-align: right;"">Member:</td>" & _
     "<td style=""text-align: left;"">{CI_R2M}</td>" & _
  "</tr>" & _
  "<tr>" & _
     "<td style=""text-align: right;"">Your Phone #:</td>" & _
     "<td style=""text-align: left;"">{CI_PHONE}</td>" & _
  "</tr>" & _
  "<tr>" & _
     "<td style=""text-align: right;"">Your Email Address:</td>" & _
     "<td style=""text-align: left;"">{CI_EMAIL}</td>" & _
  "</tr>" & _
"</table>" & _

所以在上面的示例中,{CI_NAME}、{CI_R2M}、{CI_PHONE} 和 {CI_EMAIL} 是我需要用实际值替换的所有值。

像这样:

Dim html As New StringBuilder("<table style=""border: none; width: 100%; font-size: 10px; 
                font-family: ""Helvetica Neue"", Helvetica, Arial, sans-serif;"">" & _
  "<tr>" & _
     "<td style=""width: 30%; text-align: right;"">Your Name:</td>" & _
        "<td style=""width: 70%; text-align: left;"">Bob Barker</td>" & _
     "</tr>" & _
     "<tr>" & _
        "<td style=""text-align: right;"">Member:</td>" & _
     "<td style=""text-align: left;"">Yes</td>" & _
  "</tr>" & _
  "<tr>" & _
     "<td style=""text-align: right;"">Your Phone #:</td>" & _
     "<td style=""text-align: left;"">555-802-3105</td>" & _
  "</tr>" & _
  "<tr>" & _
     "<td style=""text-align: right;"">Your Email Address:</td>" & _
     "<td style=""text-align: left;"">bobbarker@thepriceisright.com</td>" & _
  "</tr>" & _
"</table>" & _

我不确定 StringBuilder 是否已经有任何内置函数?

我知道有这样的事情:

String.Format("Example ({0})", myString)

但这会让我确保每个变量按顺序与正确的 {} 匹配,并且如果我需要添加另一个 {} 或删除一个 {},将很难跟上。它会打乱订单,并且每次都必须重新到期。

【问题讨论】:

  • 我建议只使用 REPLACE() 函数或创建自己的函数,使用正则表达式或其他东西。

标签: html .net vb.net replace stringbuilder


【解决方案1】:

您可以在代码中使用 xml 文字(前提是您使用的是最新版本的 Visual Studio):

    Dim html = <table style=" border:none; width: 100%; font-size: 10px; font-family:Helvetica Neue, Helvetica, Arial, sans-serif;">
                   <tr>
                       <td style=" width:30%; text-align: right;">Your Name:</td>
                       <td style=" width:70%; text-align: left;">{CI_NAME}</td>
                   </tr>
                   <tr>
                       <td style="text-align:right;">Member:</td>
                       <td style="text-align:left;">{CI_R2M}</td>
                   </tr>
                   <tr>
                       <td style="text-align:right;">Your Phone #:</td>
                       <td style="text-align:left;">{CI_PHONE}</td>
                   </tr>
                   <tr>
                       <td style="text-align:right;">Your Email Address:</td>
                       <td style="text-align:left;">{CI_EMAIL}</td>
                   </tr>
               </table>

然后您可以像这样将值转义为变量:

<td style="text-align:left;"><%= Somevariable %></td>

【讨论】:

  • 我使用的是 VS 2012 Ultimate 版本。这在我看来确实像 ASP?
  • 你在那个版本上应该没问题。不是asp,是IDE内置的:msdn.microsoft.com/en-us/library/…
猜你喜欢
  • 2014-09-08
  • 2017-10-31
  • 2013-04-08
  • 2011-08-01
  • 1970-01-01
  • 2013-05-24
  • 2017-09-11
  • 2013-01-24
  • 1970-01-01
相关资源
最近更新 更多