答案 0 :(得分:2)
你的字符串缺少引号。
而不是:
.HtmlBody = <html>...</html>
这样做:
.HtmlBody = "<html>...</html>"
原始HTML本身并不是VB的一部分。它只是一个字符串。字符串需要在VB中用双引号括起来。
一旦这样做,您可以使用&
运算符将变量连接到该字符串中:
.HtmlBody = "<html>..." & someVariable & "...</html>"
答案 1 :(得分:2)
为此,您必须以正确的方式格式化HTML字符串,这意味着使用正确的引用和换行符。
.htmlbody = _
"<html>" & Environment.NewLine & _
" <body>" & Environment.NewLine & _
" <table width=""700"" border=""1"" align=""left"" cellspacing=""0"" cellpadding=""0"">" & Environment.NewLine & _
" <tr>" & Environment.NewLine & _
" <td width=""700"" bgcolor=""Red"" style=""text-align:justify"" valign=""center"">" & Environment.NewLine & _
" Dear, " & CompanyName & "<br></br>" & Environment.NewLine & _
" </td>" & Environment.NewLine & _
" </tr>" & Environment.NewLine & _
" </table>" & Environment.NewLine & _
" </body>" & Environment.NewLine & _
"</html>"
修改强>
如果你真的不想使用正确的引用,这可能就像你想达到的目标一样接近。
在解决方案资源管理器中右键单击您的项目,然后按Properties
(图1)。
转到Resources
标签,按下拉菜单,然后选择Strings
(图2)。
创建一个新字符串,根据您的选择命名,然后将HTML代码粘贴到Value
字段中。插入文本[COMPANY]
或类似的地方,以显示公司名称(图3)。
返回到代码中,当您要使用HTML时,请在My.Resources
中引用字符串的名称。
然后,您只需在该字符串上调用.Replace()
,将第一个参数设置为您在HTML代码中设置的公司名称,将第二个参数设置为CompanyName
变量。
.htmlbody = My.Resources.HTML.Replace("[COMPANY]", CompanyName)
希望这有帮助!
答案 2 :(得分:0)
如果您想在网页上显示特殊字符,请编写 HTML实体,如&符号(&amp;),大于/小于符号(&lt;,&gt;)或任何其他特殊字符。< / p>
以下是所有HTML实体的链接。 https://dev.w3.org/html5/html-author/charref
<html>
</head>
<body>
<table>
<tr>
<td> & Campny Name & </td>
</tr>
</body>
</html>
答案 3 :(得分:0)
您使用XML literal语法来定义HTML。您可以使用<%= varName %>
语法embed expressions进入XML文字,因此您的代码应如下所示:
.htmlbody =
<html>
<body>
<table ...>
<tr>
<td ...>
Dear <%= CompanyName %> <br/>
</td>
</tr>
</table>
</body>
</html>.ToString()
XML文字定义XElement
,除非您包含XML声明(<?xml version="1.0"?>
),在这种情况下它将是XDocument
。 ToString()
调用将打印XML,尽管有overload允许您覆盖它。